我正在构建一个flutter应用程序,该应用程序利用图像选择器捕获或从图库中选择图像,但是我很难将图像从客户端发布到我的服务器上。
从我收集到的信息中,我可以通过将图像文件转换为字节,然后将其作为BASE64发送来通过JSON发送本地图像。
import 'dart:convert';
import 'package:crypto/crypto.dart';
Future<Map> _avatarSubmit() async {
String url = api + '/api/account';
http.Response response = await http.post(Uri.encodeFull(url), headers: {
"Accept": "application/json",
"Cookie": "MYCOOKIE=" + sessionCookie2 + "; MYTOKENS=" + sessionCookie3,
"Content-type": "multipart/form-data",
}, body: {
"image": "",
});
Map content = JSON.decode(response.body);
return content;
}
Run Code Online (Sandbox Code Playgroud)
我的问题是如何将设备中的图像文件转换为字节,以便随后可以使用加密插件将其转换为BASE64?
先感谢您。
由于图像选择器插件提供了图像的filePath,因此您可以使用dart:io中的File类加载图像,并使用dart:convert中的BASE64将其转换为BASE64字符串。
这是您可以执行的操作:
import 'dart:io';
import 'dart:convert';
File imageFile = new File(imageFilePath);
List<int> imageBytes = imageFile.readAsBytesSync();
String base64Image = BASE64.encode(imageBytes);
Run Code Online (Sandbox Code Playgroud)
希望这对您有所帮助!
| 归档时间: |
|
| 查看次数: |
4881 次 |
| 最近记录: |