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

请问,document.getElementById("preview").innerHTML = "<img src='" + str + "'/>";预览时,图片显示不了?

请问,document.getElementById("preview").innerHTML = "<img src='" + str + "'/>";预览时,图片显示不了?

var str = $(obj).val();

alert(str)输出的路径怎么会和input标签中的不一样,全都是c:/fakepath/1.jpg?

不知道怎么解决?


正在回答

7 回答

不同浏览器处理方法不一样,你试一下用下面这个函数:


function getFileUrl(sourceId) {
var url;
if (navigator.userAgent.indexOf("MSIE")>=1) { // IE
url = document.getElementById(sourceId).value;
} else if(navigator.userAgent.indexOf("Firefox")>0) { // Firefox
url = window.URL.createObjectURL(document.getElementById(sourceId).files.item(0));
} else if(navigator.userAgent.indexOf("Chrome")>0) { // Chrome
url = window.URL.createObjectURL(document.getElementById(sourceId).files.item(0));
}
return url;
}

2 回复 有任何疑惑可以回复我~
#1

小帅虎 提问者

没有效果,还是跟之前的一样。
2015-01-03 回复 有任何疑惑可以回复我~
#2

qq_苹果_7 回复 小帅虎 提问者

这个方法是可以用的
2016-08-17 回复 有任何疑惑可以回复我~
#3

小帅虎 提问者

非常感谢!
2016-08-21 回复 有任何疑惑可以回复我~

小帅虎,您好:
图片预览的时候,无法正确取得图片路径,这是因为浏览器安全性限制导致(高版本IE估计都存在),
可以在工具 -> Internet选项 -> 安全 -> 自定义级别 -> 找到“其他”中的“将本地文件上载至服务器时包含本地目录路径”,选中“启用”即可。

暂时未发现不同浏览器版本的解决办法, 像这样的问题可以在图片上传成功后,页面通过相对路径显示已在服务器端上传成功的图片。

0 回复 有任何疑惑可以回复我~
#1

夏之星

<img src="C:\Users\Andy\Desktop\Images\03.jpg"/> IE下看源码是这样了,路径放在浏览器上可以访问,工具设置也像你说的设置了,但是预览时就是不显示图片
2015-01-07 回复 有任何疑惑可以回复我~
#2

夏之星

用下面兄弟的方法可以了
2015-01-07 回复 有任何疑惑可以回复我~
#3

七月木棉QX 回复 夏之星

什么方法访问成功的?
2015-07-14 回复 有任何疑惑可以回复我~
#4

樱丶空释丨

依旧不行啊 老师
2015-09-26 回复 有任何疑惑可以回复我~
#5

圣斗士小强

IE11下按照您所说的设置之后,仍然显示不了
2015-10-27 回复 有任何疑惑可以回复我~
#6

圣斗士小强

IE11下,按照所说的方法设置为启用之后,仍然显示不了
2015-10-27 回复 有任何疑惑可以回复我~
查看3条回复

jqery 版 $("#showPhoto").attr("src","images/"+$("#myFile").val());
js版 document.getElementById("showPic").innerHTML = "<img src= 'images/"+imgPath+"'/>";

0 回复 有任何疑惑可以回复我~

拉倒吧,说的一堆都是没用的,一个好使的都没有。也不知道在那讲什么东西,浏览器都执行不出来

0 回复 有任何疑惑可以回复我~
#1

qq_苹果_7

上面有个兄弟的兼容性问题是可以得,你可以仔细看看要怎么用
2016-08-17 回复 有任何疑惑可以回复我~

获取不到本地的文件地址,无法完成文件的预览和上传,chrom显示c:filepath\.. firefox直接就给个文件名,没有文件路径,目前没找到办法处理。纠结。。。

0 回复 有任何疑惑可以回复我~

获取不到本地的文件地址,无法完成文件的预览和上传,chrom显示c:filepath\.. firefox直接就给个文件名,没有文件路径,目前没找到办法处理。纠结。。。

0 回复 有任何疑惑可以回复我~

这是各个浏览器自身的安全设置导致的,隐藏了文件原始上传路径.

我只发现了比较繁琐的针对不同看浏览器的js代码,好像没有一种通用的解决办法

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java中的文件上传下载
  • 参与学习       77391    人
  • 解答问题       337    个

由简入深,轻松实现文件上传下载功能及相关框架的使用

进入课程

请问,document.getElementById("preview").innerHTML = "<img src='" + str + "'/>";预览时,图片显示不了?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信