输入文件 - 如果未更改,请保留以前的文件
问题描述:
当用户点击input['type="file"']
并选择一个文件...文件附加。但是,如果用户再次单击输入并浏览文件但不选择一个并关闭对话框,则所选文件将消失(输入字段重置)。有什么办法可以防止这种情况发生?输入文件 - 如果未更改,请保留以前的文件
答
我敢肯定,这被浏览器限制为安全功能,以防止用户无需首先选择文件即可上传文件。我知道它是第一次被选中,但是如果我们能够设置值属性或者在第二次点击“取消”后重新填充输入字段,您可以看到如何恶意使用它。
答
为伊利尔称,不建议为了安全起见,防爆这样做:第二次,如果您保留路径值,但该文件被更改为恶意一方面,这是一个纯粹的不安全
但我展示你如何留住这里
var file_name = this.value;
$('input[type="file"]').on('change', function (event, files, label) {
file_name = this.value;
});
老路价值没有直接的办法找到,如果取消被点击对话框(不暴露到浏览器)
但使用此
document.body.onfocus = function(){
document.getElementById('#fileInput').value = file_name;
} // to detect dialog closed
那么下一次的对话框打开的值设置为file_name
(只能在Firefox与下面的插件)
var pageMod = require('page-mod');
var self = require('self');
pageMod.PageMod({
include: "url of app",
contentScriptFile: [self.data.url('url of script file'),
self.data.url('url of script file'),...]
});
编号:https://forums.mozilla.org/addons/viewtopic.php?p=25153&sid=b6380f9e2acbf759e8833979561dd6f1
希望它可以帮助
后一些代码片段,以便我们可以帮助精确 – Khaleel 2014-09-03 10:12:46
检查此答案http://stackoverflow.com/questions/1043957/clearing-input-type-file-using-jquery它可能会帮助完整 – BPT 2014-09-03 10:20:01