我正在构建一个flutter应用程序,它利用image picker从图库中捕获或选择图像,但我很难从客户端将该图像发布到我的服务器。
根据我收集的内容,我可以通过将图像文件转换为字节然后将其作为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;
}
我的问题是如何将设备中的图像文件转换为字节,然后我可以使用crypto插件将其转换为BASE64?
提前谢谢。
答案 0 :(得分:5)
由于image picker插件提供了图像的filePath,您可以使用dart:io中的File类从dart加载图像和BASE64:convert将其转换为BASE64字符串。
以下是如何做到这一点:
pos
希望这有帮助!