gpt4 book ai didi

flutter - 如何使用 Flutter 发送多部分文件

转载 作者:行者123 更新时间:2023-12-05 01:04:47 30 4
gpt4 key购买 nike

我想将图片作为多部分文件发送到服务器。

首先我尝试使用 http.post :

var response = await http.post(
Uri.parse('url.php'),
headers:{ "Content-Type":"multipart/form-data" } ,
body: {
"fichier": base64img
}
);

我收到了这个错误:

Bad state: Cannot set the body fields of a Request with content-type"multipart/form-data".

this topic的答案我尝试使用 dio 包:

var dio = Dio();
var formData = FormData.fromMap({
'fichier': await MultipartFile.fromFile(filePath, filename: 'upload')
});
var response = await dio.post(
'url.php',
data: formData
);

我收到了这个错误:

Error: Unsupported operation: MultipartFile is only supported wheredart:io is available.

一个已打开的问题 here .

最后,我尝试使用 http 包中的 MultipartRequest :

var url = Uri.parse('url.php');
var request = new http.MultipartRequest("POST", url);
request.files.add(
await http.MultipartFile.fromPath(
"fichier",
filePath
)
);
request.send().then((response) => print(response));

得到与使用 dio 包完全相同的错误。

如果有人作为解决方案,我很乐意接受。

最佳答案

使用http包并使用fromBytes而不是fromPath获取图像:

final uri = Uri.parse('https://myendpoint.com');
var request = new http.MultipartRequest('POST', uri);
final httpImage = http.MultipartFile.fromBytes('files.myimage', bytes,
contentType: MediaType.parse(mimeType), filename: 'myImage.png');
request.files.add(httpImage);
final response = await request.send();

关于flutter - 如何使用 Flutter 发送多部分文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71424265/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com