gpt4 book ai didi

http - 上传图片到后台

转载 作者:行者123 更新时间:2023-12-03 04:45:44 24 4
gpt4 key购买 nike

我无法通过 http 包将图像上传到我的 restAPI 服务器。我花了一整天寻找答案,但没有找到任何答案。我的后端需要一个实际的图像,但我似乎没有使用 http 包来管理它。

  Future<void> createProfile(Profile profile) async {
try {
var request =
new http.MultipartRequest("POST", Uri.parse(APIPath.createProfile()));
request.fields.addAll(profile.toMap());
request.files.add(await http.MultipartFile.fromPath(
'image', profile.image.path,
contentType: MediaType('image', '*')));
request.headers['authorization'] = "Bearer $_token";
final response = await request.send();
if (response.statusCode == 200) print('Uploaded!');

notifyListeners();
} catch (error) {
throw error;
}
}

我的后端是用 node.js 编写的,并在 postman 中进行了测试,所以后端应该没问题。但是,当我尝试从前端上传图片时,出现错误 only images allowed这意味着图像没有到达服务器(允许的图像类型是正确的)。请任何帮助表示赞赏

Node.js 中触发的错误
const fileFilter = (req, file, cb) => {
if (file.mimetype === 'image/png' || file.mimetype === 'image/gif' || file.mimetype === 'image/jpg' || file.mimetype === 'image/jpeg') {
cb(null, true);
} else {
const error = new Error('Only images are allowed')
error.statusCode = 406;
cb(error);
}
}

最佳答案

那是因为 contentType: MediaType('image', '*')将导致 image/* ,与 file.mimetype 不匹配在 node.js .

关于http - 上传图片到后台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62343378/

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