【发布时间】:2019-01-03 07:59:14
【问题描述】:
我正在尝试在我的 Flutter 应用中为文件上传添加取消功能。我目前正在使用来自http package 的http.MultipartRequest() 来上传文件。我尝试使用 CancelableOperation 打包上传,但它只会取消我的 Flutter 应用程序中的内部进程,并且文件仍会成功上传到我的 Firebase 存储服务器。
我阅读了关于使用http.Client() 并在http 请求完成后关闭它的http 包上的README.md。我正在考虑使用http.Client() 上传文件,然后用http.Client().close() 关闭它以取消http 请求。
但是,我还没有找到使用http.Client 上传文件的正确方法。我在 Google 和 stackoverflow 上浏览过它,但所有帖子都建议使用 http.MultipartRequest()。 One of the posts
所以,我的问题是:
1. Flutter中的http包可以取消http.MultipartRequest()发送的上传文件吗?
2.我是否在尝试使用http.Client() 的正确轨道上?或者有没有更好的方法来做到这一点?
3.如果使用http.Client()是唯一的方法,那么你能告诉我如何使用http.Client()上传文件吗?因为它只有post() 而没有multipartrequest()。
抱歉,文字太长了。请帮忙。谢谢!
【问题讨论】:
-
嗨,我尝试使用
http.Client.close(),但它确实取消了我的发布 http 请求。所以,我现在需要的是如何使用http.Client.post()上传文件。任何帮助将非常感激。谢谢!
标签: http file-upload dart flutter