我正在使用MultipartFile
将我的图像文件发送到服务器。我知道当我使用ImagePicker
File ImageFile;
_openCamera() async {
var picture = await ImagePicker.pickImage(source: ImageSource.camera);
this.setState(() {
imageFile = picture;
});
}
然后像这样使用MultipartFile
request.files.add(http.MultipartFile.fromBytes('img', ImageFile.readAsBytesSync(), filename: 'photo.jpg'));
但是我的问题是我希望我的图像来自我的资产,就像这里Image.asset('images/photo1.png');
一样。我有错
A value of type 'Image' can't be assigned to a variable of type 'File'.
Try changing the type of the variable, or casting the right-hand type to 'File'.
所以,我的问题是如何使用MultipartFile
方法发送图片?
答案 0 :(得分:1)
首先,获取资产作为字节列表:
var bytes = (await rootBundle.load('images/photo1.png')).buffer.asUint8List();
然后在名为MultipartFile
的构造函数中使用它:
var mpFile = http.MultipartFile.fromBytes('img', bytes, filename: 'photo.jpg');