【发布时间】:2012-12-25 09:18:12
【问题描述】:
我有一个自定义文件输入:
<div id="wrapper">
<span id="fake-text-input"></span>
<button id="select-a-file"></button>
<input id="hidden-file-input" type="file" />
</div>
input[type="file"] 被隐藏 (display: none) 并通过侦听\触发 click 和 change 事件来处理选择文件。
我也想支持文件删除。当文件放在#fake-text-input 上时,我能够收听drop 事件,但我不知道如何将drop 事件转发到input[type="file"].. 甚至可能吗?
我对文件输入不透明技巧不感兴趣 :)
$('body').on('drop', '#wrapper', function(e) {
var file = e.originalEvent.dataTransfer.files[0];
// I have the file.. now what?
});
【问题讨论】:
-
你能提供你尝试过的代码吗?
-
你应该看看这个 SOq。 stackoverflow.com/questions/8006715/…
-
@insomiac 看看我的编辑。虽然代码不多..
-
@cggaurav 所以这意味着它不能完成?
-
我不知道将文件附加到文件输入的任何可能性。我认为出于安全原因不允许这样做。但也许你不需要它。为什么不能在获得文件后立即使用 $.ajax({type: "POST", ...}) 触发 POST 请求?
标签: jquery drag-and-drop file-io