【发布时间】:2015-06-21 22:34:53
【问题描述】:
我想将(单个)文件上传到服务器并显示上传进度。
我知道我可以使用 HTTP POST 上传文件。我不熟悉网络套接字,但据我了解,二进制数据也可以通过这种方式发送,因为网络套接字是双向的,所以我可以获得上传进度。
我不担心旧版浏览器,所以 iframe 和 flash 解决方案不是很有吸引力,除非走这条路有显着优势。
我也很好奇最好的服务器端技术。使用像 Django 这样的 WSGI 服务器有优势吗?或者像 Node.js 这样的非阻塞 I/O 技术?我不是在问 web 框架 x 是否比 web 框架 y 好,或者服务器 x 是否比服务器 y 好。但只是为了方便在客户端上传,理想的技术应该具备的条件。
更新:似乎服务器端与客户端上用于促进上传的技术/API 无关。
【问题讨论】:
-
致投票结束我的问题的人,为什么它跑题了?我有一个特定的编程问题,可以回答...许多其他人都问过这个问题,但是随着浏览器技术的改进,这个问题的答案可能会改变。
-
vtortola 的回答是处理您的问题的最佳方式...使用 HTML5 File API。服务器端由您决定。无论哪种平台最适合您的整体需求。使用任何一个平台而不是另一个平台来上传文件不会有任何优势。 (我不是投票离题的人,只是觉得这更像是评论而不是答案)
-
我删除了关于服务器端技术的部分。因为这可能基于一些意见,并且似乎不会影响客户端选项以促进上传。
-
这是我过去某个时候做过的类似问题的答案:stackoverflow.com/questions/28014386/…
-
在 Stack Overflow 上出现这样的问答应该没有什么问题。除非 Stack Overflow 没有尽可能地发挥作用。开发人员可以非常喜欢这个问题和答案,而且阅读起来非常方便。当有人提出这样的问题时,他们有什么选择?为什么 Stack 上没有这个问题的答案?看起来很奇怪。
标签: javascript django http file-upload websocket