相信大家都遇到过用JAVASCRIPT获取一个上传图片的file的值的问题。
百度一下差不多是说浏览器基于保护用户的相关安全措施,隐藏了上传的真实路径,用fakepath代替,当然,调整浏览器的相关安全设置可以解决这个问题。
但我们不可能让所有用户都通过设置浏览器的安全设置来进行图片上传,这种方法在网络交互上显然不现实。
- var getPath=function(obj,fileQuery,transImg){
- if(window.navigator.userAgent.indexOf("MSIE")>=1){
- obj.select();
- var path=document.selection.createRange().text;
- obj.removeAttribute("src");
- obj.setAttribute("src",transImg);
- obj.style.filter=
- "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+path+"',
- sizingMethod='scale');";
- }
- else{
- var file
- =fileQuery.files[0];
- var reader
- =
- new FileReader();
- reader.onload
- =
- function(e){
- obj.setAttribute("src",e.target.result)
- }
- reader.readAsDataURL(file);
- }
- }