使用jquery读取上传的文件路径

时间:2011-01-24 20:40:58

标签: javascript jquery forms file-upload

我有一个上传字段,我想用jquery读取用户输入

我的HTML就是这个

<input type="hidden" id="MAX_FILE_SIZE" value="1999500" name="MAX_FILE_SIZE">
<input type="file" id="upl-0" name="upl[]">
<input type="file" id="upl-1" name="upl[]">
<input type="file" id="upl-2" name="upl[]">

在我的jQuery中,我这样做

var paths = '';
$('input[type=file]').each(function(){
    paths = paths + $(this).val();
});    
alert(paths);

但我只获取文件名,而不是完整路径。当我选择C:/folder/file.doc时,我只获得file.doc。我试图让这条路径在失败的表单尝试上再次填充该字段而无需用户重新选择文件,因此我需要完整的路径才能工作。我怎么能得到它?

1 个答案:

答案 0 :(得分:3)

一般来说,你不能。如果您可以捕获完整路径名(重新)填充上传(file)字段的值,那么这将是巨大的安全问题(或者另一个)使用JavaScript的文件名。

恶意网站可以在用户不知情的情况下执行此操作,并从某人的计算机上传(实际上是窃取)文件。

可能在几个浏览器中使用解决方法(例如,使用一些ActiveXObject),但这些不受广泛支持(而较新的浏览器往往会阻止这些操作)。