急,js获取本地图片路径后在img上显示

时间:2022-11-11 22:11:51
我写了个获取本地图片的js
function callBack(filename, index) {
    alert(filename);
    document.getElementById("img" + index).src = filename;
  }
路径都是对的,但有的图片能显示有的图片显示不了是个红差子
我在网上也找不到有关资料
但我在网页上右击图片属性看到,能看到的协议是file  看不到的是 HyperText Transfer Protocol  也就是http
这是什么原因

13 个解决方案

#1


路径应该是物理路径。

#2


引用 1 楼  的回复:
路径应该是物理路径。


是物理路径啊 
比如 d:\images\123.jpg

#3


该回复于2012-04-18 10:39:21被版主删除

#4


是想做上传预览吗?
不要再想了,js无法实现的。即使可以实现也不能通用。

#5


引用 4 楼  的回复:
是想做上传预览吗?
不要再想了,js无法实现的。即使可以实现也不能通用。


对,是做上传预览

#6


顶啊,求高手解答

#7


js没有权限调用本地文件

除非html5的  file 对象,但是目前兼容性不是很好

#8


引用 5 楼  的回复:
引用 4 楼  的回复:

是想做上传预览吗?
不要再想了,js无法实现的。即使可以实现也不能通用。


对,是做上传预览


上传预览 需要用asp net的控件 fileupload 先把图片传到服务器 然后再显示

#9


Ie6的貌似有问题

#10


现在ie8上我实现了,就是用滤镜

function callBack(filename, index) {
    var imagespath = document.getElementById("img" + index);
    imagespath.style.width = "400px";
    imagespath.style.height = "600px";
 //   imagespath.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod = scale;)";
    imagespath.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = filename;
  }


不知道在IE6上行不行

#11


引用 8 楼  的回复:
引用 5 楼  的回复:

引用 4 楼  的回复:

是想做上传预览吗?
不要再想了,js无法实现的。即使可以实现也不能通用。


对,是做上传预览


上传预览 需要用asp net的控件 fileupload 先把图片传到服务器 然后再显示

我就是想先本地预览,如果图没有问题在提交到服务器上的,不想给服务器太多压力

#12


上传图片本地预览,采用折中的办法能达到本地预览效果(可以兼容IE6.7.8和FF)。但是不能完美实现js判断文件大小这个功能。晚上回去看看能不能找到代码。

#13


谢谢,大家的帮忙

#1


路径应该是物理路径。

#2


引用 1 楼  的回复:
路径应该是物理路径。


是物理路径啊 
比如 d:\images\123.jpg

#3


该回复于2012-04-18 10:39:21被版主删除

#4


是想做上传预览吗?
不要再想了,js无法实现的。即使可以实现也不能通用。

#5


引用 4 楼  的回复:
是想做上传预览吗?
不要再想了,js无法实现的。即使可以实现也不能通用。


对,是做上传预览

#6


顶啊,求高手解答

#7


js没有权限调用本地文件

除非html5的  file 对象,但是目前兼容性不是很好

#8


引用 5 楼  的回复:
引用 4 楼  的回复:

是想做上传预览吗?
不要再想了,js无法实现的。即使可以实现也不能通用。


对,是做上传预览


上传预览 需要用asp net的控件 fileupload 先把图片传到服务器 然后再显示

#9


Ie6的貌似有问题

#10


现在ie8上我实现了,就是用滤镜

function callBack(filename, index) {
    var imagespath = document.getElementById("img" + index);
    imagespath.style.width = "400px";
    imagespath.style.height = "600px";
 //   imagespath.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod = scale;)";
    imagespath.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = filename;
  }


不知道在IE6上行不行

#11


引用 8 楼  的回复:
引用 5 楼  的回复:

引用 4 楼  的回复:

是想做上传预览吗?
不要再想了,js无法实现的。即使可以实现也不能通用。


对,是做上传预览


上传预览 需要用asp net的控件 fileupload 先把图片传到服务器 然后再显示

我就是想先本地预览,如果图没有问题在提交到服务器上的,不想给服务器太多压力

#12


上传图片本地预览,采用折中的办法能达到本地预览效果(可以兼容IE6.7.8和FF)。但是不能完美实现js判断文件大小这个功能。晚上回去看看能不能找到代码。

#13


谢谢,大家的帮忙