是否可以在文件上传输入字段中设置已删除文件的数据?或者需要将删除的文件立即上传到服务器?
示例代码:
<input type="file" id="drop-box" />
$("#drop-box").on('drop', function (e) {
e.stopPropagation();
e.preventDefault();
var files = e.originalEvent.dataTransfer.files;
readURL(files);
});
答案 0 :(得分:1)
您可以使用$('input')[0].files[0]
代替e.originalEvent.dataTransfer.files
。
删除元素或文本选择时会触发drop事件 在有效的放弃目标上。
当您将文件放入输入时,JQuery
drop
事件被触发,而它没有选择文件。
你需要等待几次文件选择。
运行底部示例并在输入上删除文件以查看结果。
$("#drop-box").on('drop', function (e){
setTimeout(function(){
e.stopPropagation();
var files = $('#drop-box')[0].files[0];
$("p").text(files.name);
$('#drop-box').val("");
},1);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="file" id="drop-box" />
<p></p>