为了账号安全,请及时绑定邮箱和手机立即绑定

如何在使用javascript,jquery-ajax更改<input type ='file'>

如何在使用javascript,jquery-ajax更改<input type ='file'>

弑天下 2019-05-29 16:21:32
如何在使用javascript,jquery-ajax更改<input type ='file'>如何在选择文件时获取文件的完整路径 <input type=‘file’><input type="file" id="fileUpload"><script type="text/javascript">function getFilePath(){      $('input[type=file]').change(function () {          var filePath=$('#fileUpload').val();       });}</script>但filePath var包含only name所选文件,而不是full path。我在网上搜索过,但出于安全考虑,似乎浏览器(FF,chrome)只是给出文件名。有没有其他方法来获取所选文件的完整路径?
查看完整描述

4 回答

?
潇潇雨雨

TA贡献1833条经验 获得超4个赞

试试这个:

它会给你一个临时路径而不是准确的路径,你可以使用这个脚本,如果你想在这个jsfiddle例子中显示选定的图像(通过selectng图像以及其他文件尝试): -

的jsfiddle

这是代码: -

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>

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>");});

它不完全是你想要的,但它可以帮助你在某个地方。


查看完整回答
反对 回复 2019-05-29
?
紫衣仙女

TA贡献1839条经验 获得超15个赞

你不能这样做 - 由于安全问题,浏览器不允许这样做。

使用input type = file对象选择文件时,value属性的值取决于用于显示网页的安全区域的“将文件上载到服务器时包括本地目录路径”的安全设置值包含输入对象。

仅当启用此设置时,才会返回所选文件的完全限定文件名。禁用该设置后,Internet Explorer 8将使用字符串C:\ fakepath \替换本地驱动器和目录路径,以防止不适当的信息泄露。

和别的

);在更改事件功能结束时错过了此操作。

也不要为change事件创建函数而只是使用它,如下所示,

<script type="text/javascript">

    $(function()
    {
        $('#fileUpload').on('change',function ()
        {
            var filePath = $(this).val();
            console.log(filePath);
        });
    });</script>


查看完整回答
反对 回复 2019-05-29
?
忽然笑

TA贡献1806条经验 获得超5个赞

你不能。安全性使您无法了解客户端计算机的归档系统 - 它甚至可能没有!它可能是MAC,PC,平板电脑或支持互联网的冰箱 - 你不知道,不知道也不会知道。让你拥有完整的路径可以为你提供有关客户端的一些信息 - 特别是如果它是一个网络驱动器。

实际上,您可以在特定条件下获取它,但它需要ActiveX控件,并且在99.99%的情况下不起作用。

你无论如何都无法使用它将文件恢复到原始位置(因为你完全无法控制下载的存储位置,或者即使存储了它们),所以在实践中它对你来说并没有多大用处。


查看完整回答
反对 回复 2019-05-29
  • 4 回答
  • 0 关注
  • 855 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信