archy123
2010-07-14 10:48 阅读 598

javascript 获取上传文件路径的问题

碰到个非常头疼的问题。
[code="java"]


function change() { document.form1.pic.src=document.form1.file1.value; }

草图: 草图浏览:


[/code]
当点击浏览文件的时候,草图浏览会显示当前选择的图片。
很简单的一个功能,但是现在的问题是,这段代码在IE6工作正常,IE7,IE8完全没有反应。
还请多多指教。


[b]问题补充:[/b]
[quote="kjah"]<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

function change(){ var pic=document.getElementById("pic"); var file=document.getElementById("file1"); pic.src=file.value; if(file.files){ if(file.files.item(0)){ url=file.files.item(0).getAsDataURL(); pic.src=url; } } }

草图: 草图浏览:


[/quote]
刚使用了大哥的这段代码,仍然不行,经过查证发现。我原来的代码如果保存为html文件在本地IE6.7.8打开没有任何问题,问题出在,当我放到服务器端时,只有IE6才能出现出现我想要的效果。服务器端页面为jsp页面。求解。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

2条回答 默认 最新

  • 已采纳
    cyrilluce cyrilluce 2010-07-15 09:49

    浏览器的安全策略不允许JS访问上传文件的路径,只能取得文件名。
    IE8下获取的路径还会是个假的,好像是“C:\fakepath\xxx.xxx”
    并且在IE7以上版本不能在非本地域时设置src为本地路径

    不过网上有很多特殊方法来实现,IE用选中区域文字获取路径,滤镜显示图片。
    FF直接获取base64编码后的文件

    还可以用ActiveX来做这个功能,或者依靠服务器实现。(上传到服务器,再从服务器请求缩略图。。。)

    这里有最详细的一篇文章:[url]http://www.blueidea.com/tech/web/2009/7285.asp[/url]

    点赞 评论 复制链接分享
  • kjah_1 kjah_1 2010-07-14 15:48

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    function change(){ var pic=document.getElementById("pic"); var file=document.getElementById("file1"); pic.src=file.value; if(file.files){ if(file.files.item(0)){ url=file.files.item(0).getAsDataURL(); pic.src=url; } } }

    草图: 草图浏览:


    点赞 评论 复制链接分享

相关推荐