使用飞镖将图像上传到服务器,抖动

时间:2018-07-24 18:49:22

标签: dart flutter

  upload(File imageFile) async {
     var uploadURL = "http://xxxxxx.org.xx/appdata/members/images";
     var stream = new http.ByteStream(DelegatingStream.typed(imageFile.openRead()));
     var length = await imageFile.length();
     var uri = Uri.parse(uploadURL);
     var request = new http.MultipartRequest("POST", uri);
     var multipartFile = new http.MultipartFile('file', stream, length,
     filename: basename(imageFile.path));
     request.files.add(multipartFile);
     var response = await request.send();
     print(response.statusCode);
     response.stream.transform(utf8.decoder).listen((value) {
  print(value);
});}

但是,它抛出状态码301,并且没有文件上传到服务器的目标文件夹。有什么问题吗?

1 个答案:

答案 0 :(得分:1)

301 HTTP代码表示服务器正在尝试将您重定向到另一个URL-请参见wikipedia's list of response codes

我猜想您的请求已被重定向,并且客户端没有遵循...尽管MultipartRequest的followRedirects在默认情况下应为true,但您可以尝试显式设置,并可以增加{{1} }。

我建议您在尝试使用curl(或类似工具)之前测试一下要尝试使用的API,以确保其能够按预期工作。