求解决文件路径被改成C:\fakepath\问题的js方法

上传附件时文件路径会被浏览器改成图中的这样,求解决办法,不要说该改览器设置的,不可能让每个客户去改浏览器设置图片说明

最好火狐、IE、谷歌、360等浏览器都能解决

4个回答

你获取客户端路径干嘛,完全没用,安全问题通过file.value获取不到实际的路径,得到的就是那种东东,但是不影响文件内容提交

没有办法解决,除非你自己开发个浏览器。如果是要预览图片可以看这个:javascript客户端图片预览
IE6~IE11和其他标准浏览器通吃

showbo
支付宝加好友偷能量挖,胡杨等着我的招呼 回复Y_L_Y_L: 有附件的只能走服务器,客户端路径无法获取,除非你自己开发插件,直接file.value安全问题无法得到实际的客户端物理路径
大约 3 年之前 回复
showbo
支付宝加好友偷能量挖,胡杨等着我的招呼 回复Y_L_Y_L: 邮件附件是什么东东?你想js直接发邮件带附件?这种都要走服务器的,提交的时候浏览器只提交文件内容,不会提交客户端路径的
大约 3 年之前 回复
Y_L_Y_L
Y_L_Y_L 邮件传附件啊 不获取到实际路径我怎么传 用那个路径会报找不到文件的错误
大约 3 年之前 回复

浏览器现在不能去客户端路径了

我也曾经遇见过这个问题,弄了半天,最后也只是ie可以读取到路径,其他浏览器都做不到,最后还是没传文件路径
现在我也不知道如果需要选择本地路径,把东西下载到本地要怎么做

qq_34802895
鱼的梦想 C:\fakepath 这个问题你IE是怎么js解决的 不让用户设置安全如何解决
大约 2 年之前 回复

//附带不用修改浏览器安全配置的javascript代码,兼容ie, firefox全系列

function getPath(obj)

{

if(obj)

{

if (window.navigator.userAgent.indexOf("MSIE")>=1)    
  {    
    obj.select();    

  return document.selection.createRange().text;    
  }    

else if(window.navigator.userAgent.indexOf("Firefox")>=1)    
  {    
  if(obj.files)    
    {    

    return obj.files.item(0).getAsDataURL();    
    }    
  return obj.value;    
  }    
return obj.value;    
}    

}

//参数obj为input file对象

ysJack
惠峰 没用
11 个月之前 回复
Tank_in_the_street
Tank_in_the_street 发这个的时候有没有亲自试过?
接近 3 年之前 回复
Y_L_Y_L
Y_L_Y_L 回复sky小糊涂神: 我这个是发邮件添加附件的功能,我不需要存储,知识要正常的地址就好
大约 3 年之前 回复
wangtong1234567
sky小糊涂神 回复Y_L_Y_L: 试下吧,不行的话再换思路就好了,条条大路通罗马
大约 3 年之前 回复
wangtong1234567
sky小糊涂神 回复Y_L_Y_L: 我之前也遇到过这个问题,我是换了一种思路,而没有像你一样去想着用js
大约 3 年之前 回复
Y_L_Y_L
Y_L_Y_L 回复sky小糊涂神:不好用啊 把这个地址用这个方法 转了之后什么都没有
大约 3 年之前 回复
wangtong1234567
sky小糊涂神 回复Y_L_Y_L: 上传的时候出现这种问题,我建议你换个思路,如果你上传文件是为了读取,你可以先读取在存储,而不是选择先存储后读取
大约 3 年之前 回复
wangtong1234567
sky小糊涂神 回复Y_L_Y_L: 一般来说,浏览器不会出现这个问题,你说的应该是低版本的浏览器
大约 3 年之前 回复
wangtong1234567
sky小糊涂神 回复Y_L_Y_L: 文件的地址
大约 3 年之前 回复
Y_L_Y_L
Y_L_Y_L input file对象 是说这个C:\fakepath\Foxmail.exe被转换后的地址还是什么?
大约 3 年之前 回复
立即提问
相关内容推荐