【发布时间】:2012-08-20 17:41:52
【问题描述】:
我有一个定期上传<input type="file"> 文件的网站,在提交表单时将数据发布到后端。
我想逐步增强表单,以便您可以将文件从浏览器外部拖放到视口中的任何位置(不仅仅是文件输入字段,如某些浏览器内置)以上传。
表单是否自动提交并不重要。因此,如果拖放只选择文件字段中的文件,而不开始上传,那很好。我不需要支持多个文件。我不需要显示上传进度、缩略图或任何花哨的东西。
我知道有支持拖放上传的 JS 库,但它们似乎都是通过 AJAX 上传的。我可以这样做,但是我需要修改后端和前端来处理上传错误、重定向并在成功时显示正确的消息等等。
我想要一个不需要任何后端更改的渐进式增强。它应该使用页面中的表单同步发生。 JS 很好,只要上传发生在“前台”。当然,同步 AJAX 是行不通的。
【问题讨论】:
-
在 Chrome 中,至少,你可以设置一个文件输入的文件放在 drop 上:jsfiddle.net/qMmPr。这就是你所追求的吗?
-
@pimvdb 太漂亮了!正是我想要的。而且我忘了提到,由于这是针对内部服务的,因此仅 Chrome 就可以了。如果您将其写为答案(除了评论),我会将其标记为已接受。
标签: javascript html file-upload