在Flutter中使用POST请求上传文件 [英] Uploading file using POST request in Flutter

查看:1912
本文介绍了在Flutter中使用POST请求上传文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用发布请求将视频文件上传到我的服务器.

I'm trying to upload a video file to my server using a post request.

var file = new File(videoPath);
var uri = Uri.parse(tokenizedUri);
HttpClientRequest request = await new HttpClient().postUrl(uri);

await request.addStream(file.openRead());
var response = await request.close();

response.transform(utf8.decoder).forEach((string) {
  print(string); // handle data
});

但是服务器没有得到它.为什么?

But the server doesn't get it. Why?

推荐答案

正确的方法是使用MultipartRequest:

The correct way is to use a MultipartRequest:

    var uri = Uri.parse(url);
    var request = new MultipartRequest("POST", uri);

    var multipartFile = await MultipartFile.fromPath("package", videoPath);
    request.files.add(multipartFile);

    StreamedResponse response = await request.send();
    response.stream.transform(utf8.decoder).listen((value) {
      print(value);
    });

这篇关于在Flutter中使用POST请求上传文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆