Flutter:应用程序将文件上传到本地服务器,但不上传到远程服务器

时间:2019-12-20 12:18:32

标签: flutter upload

我正在尝试使用以下代码上传图片。

  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服务器-确定

关于发生了什么的任何想法?我需要在应用清单中输入任何特殊权限吗?

1 个答案:

答案 0 :(得分:0)

Flutter发送的MIME类型为“ application / octet-stream”的图像。服务器正在等待MIME类型为“ image / jpeg”的文件,因此它会自动拒绝该文件。