1
0
mirror of https://gitlab.com/comunic/comunicmobile synced 2025-06-19 00:05:16 +00:00

Can crop image

This commit is contained in:
2021-03-13 17:50:59 +01:00
parent 2a00530126
commit ea45bf828c
7 changed files with 91 additions and 6 deletions

View File

@ -1,6 +1,11 @@
import 'dart:io';
import 'package:comunic/utils/intl_utils.dart';
import 'package:flutter/material.dart';
import 'package:image_picker/image_picker.dart';
import 'package:path/path.dart' as path;
import 'package:path_provider/path_provider.dart';
import 'package:random_string/random_string.dart';
/// Files utilities
///
@ -46,6 +51,16 @@ Future<PickedFile> pickImage(BuildContext context) async {
: ImageSource.gallery);
}
/// Generate a new temporary file
///
/// Throws in case of failure
Future<File> generateTemporaryFile() async {
final tempDir = await getTemporaryDirectory();
if (tempDir == null)
throw Exception("Could not generate temporary directory!");
return File(path.join(tempDir.path, randomString(15, from: 65, to: 90)));
}
/// Check if a mime type maps to an image or not
bool isImage(String mimeType) => mimeType.startsWith("image/");

View File

@ -3,11 +3,10 @@ import 'dart:io';
import 'package:comunic/models/api_request.dart';
import 'package:comunic/utils/log_utils.dart';
import 'package:flutter/material.dart';
import 'package:path/path.dart' as path;
import 'package:path_provider/path_provider.dart';
import 'package:random_string/random_string.dart';
import 'package:video_thumbnail/video_thumbnail.dart';
import 'files_utils.dart';
/// Video utilities
///
/// @author Pierre Hubert
@ -20,9 +19,7 @@ Future<BytesFile> generateVideoThumbnail({
File file;
try {
final tempDir = await getTemporaryDirectory();
if (tempDir == null) return null;
file = File(path.join(tempDir.path, randomString(15, from: 65, to: 90)));
file = await generateTemporaryFile();
await file.writeAsBytes(videoFile.bytes);