创意安天

 找回密码
 注册创意安天

使用Javascript在本地浏览器中预览图片

[复制链接]
发表于 2010-3-5 14:42 | 显示全部楼层 |阅读模式
本帖最后由 特洛伊剑客 于 2010-3-5 14:43 编辑

很久很久以前,那时候还是IE的天下,使用Javascript预览本地图片实现起来非常简单,就是设置一下:

document.getElementById("image").src = "file:///" + document.getElementById("input").value;

不过出于安全的考虑,现在的浏览器都不允许...src = file:///...这样的写法,作为替代,IE可以使用“DXImageTransform.Microsoft.AlphaImageLoader”滤镜的方式,而Firefox则提供了一个getAsDataURL方法。
  1. <html>
  2. <head>
  3. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  4. <title>preview</title>
  5. <style>
  6. #preview {
  7. width: 270px;
  8. height: 129px;
  9. }
  10. </style>
  11. <!--[if IE]>
  12. <style>
  13. #preview {
  14. filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=image);
  15. }
  16. </style>
  17. <![endif]-->
  18. <script>
  19. function preview(image)
  20. {
  21. if ("Microsoft Internet Explorer" == navigator.appName) {
  22. document.getElementById("image").style.display = "none";
  23. document.getElementById("preview").filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = image.value;
  24. } else if ("Netscape" == navigator.appName){
  25. document.getElementById("image").src = image.files[0].getAsDataURL();
  26. } else {
  27. alert("Not Support!");
  28. }
  29. }
  30. </script>
  31. </head>

  32. <body>
  33. <input type="file" onchange="preview(this);" />
  34. <div id="preview">
  35. <img id="image" src="http://www.baidu.com/img/baidu_logo.gif" />
  36. </div>
  37. </body>
  38. </html>
复制代码
[/code] a4e50c00947d40257bec2c18.jpg
发表于 2010-3-5 15:20 | 显示全部楼层
好帖!
您需要登录后才可以回帖 登录 | 注册创意安天

本版积分规则

小黑屋|手机版|Archiver|创意安天 ( 京ICP备09068574,ICP证100468号。 )

GMT+8, 2024-5-4 05:05

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表