私はイメージウィジェットにイメージを持っているこのフラッターコードを書いています、そして私はそれをFirebaseストレージにアップロードすることができるようにそれをファイルに変換したいです。
_Image _image = Image.asset('assets\images\profile.png');
File _fileImage = convertToFile(_image);
//upload _fileImage to Firebase Storage code
_
File convertToFile(Image img)
関数が必要です。
私はまったく同じ問題を持っていました、そしてこのガイドを使いました: https://medium.com/@mrgulshanyadav/convert-image-url-to-file-format-in-flutter-10421bcfd18 Gulshan Yadav)
これらのインポートを使用する
import 'package:http/http.Dart' as http;
import 'package:path_provider/path_provider.Dart';
import 'Dart:io';
import 'Dart:math';
_
そしてこの関数:
Future<File> urlToFile(String imageUrl) async {
// generate random number.
var rng = new Random();
// get temporary directory of device.
Directory tempDir = await getTemporaryDirectory();
// get temporary path from temporary directory.
String tempPath = tempDir.path;
// create a new file in temporary path with random file name.
File file = new File('$tempPath'+ (rng.nextInt(100)).toString() +'.png');
// call http.get method and pass imageUrl into it to get response.
http.Response response = await http.get(imageUrl);
// write bodyBytes received in response to file.
await file.writeAsBytes(response.bodyBytes);
// now return the file which is created with random name in
// temporary directory and image bytes from response is written to // that file.
return file;
}
_