gru*_*czy 38 jquery file-type input
当我调用val()
输入时,type="file"
我只获取文件名而不是完整路径.我怎样才能获得完整的路径?
Pek*_*ica 47
你不能:它是所有现代浏览器中的安全功能.
对于IE8,它默认是关闭的,但可以使用安全设置重新激活:
使用input type = file对象选择文件时,value属性的值取决于用于显示网页的安全区域的"将文件上载到服务器时包括本地目录路径"的安全设置值包含输入对象.
仅当启用此设置时,才会返回所选文件的完全限定文件名.禁用该设置后,Internet Explorer 8将使用字符串C:\ fakepath \替换本地驱动器和目录路径,以防止不适当的信息泄露.
在我所知道的所有其他当前主流浏览器中,它也被关闭了.文件名是您可以获得的最佳名称.
更详细的信息和这个问题的良好链接.它指的是获取服务器端的值,但在表单提交之前,JavaScript中的问题是相同的.
小智 15
好吧,不可能获得完整路径,但我们可以有一条临时路径.
试试这个:
它会给你一个临时路径不正确的路径,如果你想显示所选图像在此的jsfiddle例子(由selectng图像以及其他文件试试吧),你可以使用这个脚本: -
这是代码: -
HTML: -
<input type="file" id="i_file" value="">
<input type="button" id="i_submit" value="Submit">
<br>
<img src="" width="200" style="display:none;" />
<br>
<div id="disp_tmp_path"></div>
Run Code Online (Sandbox Code Playgroud)
JS: -
$('#i_file').change( function(event) {
var tmppath = URL.createObjectURL(event.target.files[0]);
$("img").fadeIn("fast").attr('src',URL.createObjectURL(event.target.files[0]));
$("#disp_tmp_path").html("Temporary Path(Copy it and try pasting it in browser address bar) --> <strong>["+tmppath+"]</strong>");
});
Run Code Online (Sandbox Code Playgroud)
它不完全是你想要的,但它可以帮助你在某个地方.
归档时间: |
|
查看次数: |
122508 次 |
最近记录: |