我正在尝试使用以下代码上传图片。
String _urlsegment =
Explika.producaoFlag ? 'https://www.remoteserver.pt' : 'http://10.0.2.2';
var stream = http.ByteStream(
DelegatingStream.typed(compressedFileImage.openRead()));
var length = await compressedFileImage.length();
var uri = Uri.parse('$_urlsegment/explika/api/upload');
var request = http.MultipartRequest("POST", uri);
var multipartFile = http.MultipartFile('fotoaluno', stream, length,
filename: '${Explika.getAluno().id}.jpg');
request.files.add(multipartFile);
使用localhost,一切正常。当我尝试将图像发送到远程服务器时,没有任何反应。 终点还可以:我使用邮递员对其进行了测试,并且一切正常。
总结:
使用 APP上载到本地服务器-确定
使用POSTMAN上传到本地服务器-确定
使用 APP上载到远程服务器-失败(没有错误,但文件未到达服务器)
使用POSTMAN上传到 REMOTE服务器-确定
关于发生了什么的任何想法?我需要在应用清单中输入任何特殊权限吗?
答案 0 :(得分:0)
Flutter发送的MIME类型为“ application / octet-stream”的图像。服务器正在等待MIME类型为“ image / jpeg”的文件,因此它会自动拒绝该文件。