FireFox - 在火狐firefox和IE中取file的value

FireFox - 在火狐firefox和IE中取file的value

在火狐和IE中取file的值
  如 代码:  要想取得file1的值传给 img,而后再让 img显示的话,在IE里很是容易实现,直接用
  document.getElementById("myimg").src=document.getElementById("file1").value;就能够了,因 document.getElementById("file1").value取出来的值就是在file1里显示的 那个路径,也就是说是此图片在本机上的路径。然而在火狐里就没那么容易了,因 火狐 了安全起见将document.getElementById("file1").value的值变成了文件的名称,也就 是说你根本没法获得跟file1中显示的一摸同样的路径,固然这样一来你将document.getElementById("myimg").src=document.getElementById("file1").value,图片就不能正常 显示了,那怎么办呢?固然有解决的方法。在火狐中咱们能够这样来取得图片的路径:document.getElementById("file1").files.item(0).getAsDataURL();注意必须是这样取值 ,才能认可getAsDataURL()这个方法,而后你能够alert一 ,就会发现出来的路径很是的长,这是火狐将本机路径进行了加密,而后再将这个值 赋值img的src就能够了。如
  document.getElementById("myimg").src=document.getElementById("file1").files.item(0).getAsDataURL();测试图片显示成功!
  火狐之因此这样作都是 了安全考虑,咱们用来好像不太方便,可是也有方便的方法哦,如fileSize属性,document.getElementById("file1").files.item(0).fileSize,这样你 能够经过file1就能够获得上传的文件的大小,能够用来作之后的上传判断,对此IE是没法实现的(仍是我没发现方法,不知道啦,若是你知道能够交流一 ,嘿嘿),一般若是在 ie里的话,都是将file1的路径传给 img,而后引用 Img的fileSzie属性来判断图片的大小,固然你能够在 js中生成一个Image对象,而后将src 赋值,而后判断大小,这样p_w_picpath能够 不在页面显示。
  此外,火狐的document.getElementById("file1").files.item(0)有如 两个属性,三个方法。   fileName:用于获取到用户所选文件的名称,这和直接取value值所获得的结果同样。   fileSize:获得用户所选文件的大小。   getAsBinary():获得用户所选文件的二进制数据。   getAsDataURL():获得用户所选文件的路径,该路径被加密了,目前只能在FireFox中使用。   getAsText():获得用户所选文件的指定字符编码的文本。文章来源:
相关文章
相关标签/搜索