JavaScript 图片的上传前预览(兼容所有浏览器)

功能描述

 

通过 JavaScript 实现图片的本地预览(无需上传至服务器),兼容所有浏览器(IE6&IE6+、Chrome、Firefox)。

 

实现要点

 

● 对于 Chrome、Firefox、IE10 使用 FileReader 来实现。

● 对于 IE6~9 使用滤镜 filter:progid:DXImageTransform.Microsoft.AlphaImageLoader 来实现。

 

复制代码
 1  <!DOCTYPE html>
 2  <html>
 3 <head>
 4 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
 5 <style type="text/css">
 6  #preview, .img, img
 7  {
 8  width:200px;
 9  height:200px;
10  }
11  #preview
12  {
13 border:1px solid #000;
14 }
15  </style>
16  </head>
17 <body>
18  <div id="preview"></div>
19 <input type="file" onchange="preview(this)" />
20  <script type="text/javascript">  
21  function preview(file)
22  {
23  var prevDiv = document.getElementById('preview');
24  if (file.files && file.files[0])
25  {
26  var reader = new FileReader();
27  reader.onload = function(evt){
28  prevDiv.innerHTML = '<img src="' + evt.target.result + '" />';
29 }  
30  reader.readAsDataURL(file.files[0]);
31 }
32  else  
33  {
34  prevDiv.innerHTML = '<div class="img" style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale,src=\'' + file.value + '\'"></div>';
35  }
36  }
37  </script>
38  </body>
39  </html>
复制代码

 

posted @   joshua317  阅读(162)  评论(0编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示