日期:2014-05-16 浏览次数:20415 次
<input type="file" name="we_pic_310_250" id="we_pic_310_250" />
function img_va(){ var file=$we_pic_310_250.val(); var img=null; if(img)img.removeNode(true); img=document.createElement("img"); img.style.position="absolute"; img.style.visibility="hidden"; document.body.insertAdjacentElement("beforeend",img); img.src=file; if(img.offsetWidth == 310 && img.offsetHeight == 250){ return true }else{ return false } }
function uploadIMG(obj) { obj.select(); var filepath = document.selection.createRange().text; }
------解决方案--------------------
用flash做吧!!!
------解决方案--------------------
安全机制,file手动不能设置
------解决方案--------------------
你把路径地址改为绝对地址就可以啦
------解决方案--------------------
先要上传到Web服务器项目指定目录中,之后才可以使用
------解决方案--------------------
一般都是后台来判断的,比如说像文件的大小好像就不能用js获取。
而且如果用js获取还要判断是那种浏览器,IE跟FF获取文件的信息好像就不一样。
------解决方案--------------------
<input type="hidden" name="filePath">
<input type="file" name="file" onchange="filePath.value=this.value;">
<input type="button" value="test" onclick="alert(filePath.value);">
IE8,没想到一个网站里面的上传图片时用JavaScript预览本地图片的功能失效了,图片总是显示错误,用alert()看了下图片的路径居然变成了C:\fakepath\*.jpg,真实的路径被C:\fakepath\取代了,于是在网上开始找解决方案。原来是因为IE8增加了安全选项,默认情况下不显示上传文件的真实路径,进入internet选项,修改下设置即可显示真实的文件路径。
以下就是操作步骤:
工具 -> Internet选项 -> 安全 -> 自定义级别 -> 找到“其他”中的“将本地文件上载至服务器时包含本地目录路径”,选中“启用”即可。
附带不用修改浏览器安全配置的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对象
------解决方案--------------------
是安全机制没错的,浏览器处于安全考虑,把你的地址封装了,不管你这么上传都会有fakepath,你只能用绝对路劲了。
//获取上传控件的图片绝对地址 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();