`

html5实现本地图片预览功能

阅读更多

1.利用FileReader进行图片本地预览

    FileReader类型实现的是一种异步文件读取机制,用来把文件读入内存,并且读取文件中的数据。各大浏览器的支持情况:

 

 

构造方法

var reader = new FileReader()

为了读取文件中的数据,FileReader提供了如下几个方法:

readAsText(file,encoding):以纯文本的形式读取文件,将读取到的文本保存在result属性中,第二个参数指定编码类型,可选。

readAsDataURL(file):读取文件并将文件以数据URL的形式保存在result属性中。

readAsBinaryString(file): 读取文件并将一个字符串保存在result属性中,字符串中的每一个字符表示一个字节。

readAsArrayBuffer(file): 将一个包含文件内容的ArrayBuffer保存在result。

了解了FileReader的基本使用后,来实现下图片的本地预览功能:

 

<input type="file" name="inputfile" accept="image/*" onchange="readFile(this.files[0])">
<div id="preview"></div>

 

function readFile(f){
    var reader = new FileReader();
    reader.readAsDataURL(f); //base64编码
   reader.onload = function(){
         var preview = document.querySelector('#preview');
         var img = document.createElement("img");
         img.src = reader.result;
         preview.appendChild(img);
    }
   reader.onerror = function(e){
         console.log("Error"+e);
   }
}

 

 页面效果看起来是这个样子的:



 当选择图片后就可以本地预览啦,结合ajax实现图片上传预览功能。

效果图:

 2.URL.createObjectURL()进行图片本地预览

     URL.createObjectURL() 静态方法会创建一个 DOMString,它的 URL 表示参数中的对象。这个 URL 的生命周期和创建它的窗口中的 document 绑定。这个新的URL 对象表示着指定的 File 对象或者 Blob 对象。

构造方法

objectURL = URL.createObjectURL(blob);  //参数blob是用来创建 URL 的 file 对象或者 Blob 对象​

在每次调用 createObjectURL() 方法时,都会创建一个新的 URL 对象,即使你已经用相同的对象作为参数创建过。当不再需要这些 URL 对象时,每个对象必须通过调用window.URL.revokeObjectURL()方法来释放。浏览器会在文档退出的时候自动释放它们,但是为了获得最佳性能和内存使用状况,你应该在安全的时机主动释放掉它们。

HTML结构与之前一样。

if (window.URL) {
     var preview = document.querySelector('#preview');
     var img = document.createElement("img");
     img.src = window.URL.createObjectURL(f);
     img.onload = function(){
	   window.URL.revokeObjectURL(this.src); //释放内存
     }
     preview.appendChild(img);
}

 效果如上。

  • 大小: 29.4 KB
  • 大小: 1.4 KB
  • 大小: 162.3 KB
分享到:
评论

相关推荐

    tinyMCE本地图片预览

    以下是一个具体的代码示例,展示了如何使用jQuery和AJAX实现本地图片预览: ```javascript // 引入jQuery库 &lt;script src="path/to/jquery.min.js"&gt;&lt;/script&gt; // 定义上传图片的函数 function AjaxUploadPic() { ...

    html5+js本地图片预览

    在这个“html5+js本地图片预览”的主题中,我们将深入探讨如何利用HTML5的File API和JavaScript来实现在用户选择图片后即时预览,以及鼠标悬停时展示大图的效果。 1. **File API**:HTML5的File API允许开发者在...

    html5实现页面的显示本地图片

    在“html5实现页面的显示本地图片”这个主题中,我们主要关注的是HTML5的`&lt;input type="file"&gt;`标签以及File API,它们允许用户选择本地图片并在网页上预览或处理。 **1. `&lt;input type="file"&gt;`标签** `...

    html5实现多图片上传预览(源码,已测试)

    在这个“html5实现多图片上传预览(源码,已测试)”的项目中,我们主要关注的是HTML5的新特性——File API和拖放API,它们允许我们在不借助服务器端处理的情况下实现本地文件的读取和预览。 首先,File API是HTML5...

    jQuery H5移动端图片预览插件

    接着,图片预览插件通常会利用CSS3的transform属性来实现平滑的缩放效果,同时使用transition属性控制过渡动画的时长和行为。在移动端,考虑到性能和兼容性,插件可能还会使用CSS3的viewport单位(如vw和vh)来实现...

    由html5实现的文件上传预览功能

    这个名为“由html5实现的文件上传预览功能--zyUpload”的压缩包可能包含一个完整的实现上述功能的代码示例。解压后,你可以查看源代码,学习如何在实际项目中应用这些技术。同时,也可以参考这个示例,进行自定义...

    html5图片上传本地生成缩略图预览

    HTML5图片上传与本地生成缩略图预览是现代网页应用中常见的功能,它极大地提升了用户体验,特别是对于涉及图像处理的网站。这个功能利用了HTML5的一些新特性,包括File API、Canvas和Data URL。接下来,我们将深入...

    2014-5-6更新 兼容ie[6-9]、火狐、Chrome、opera、maxthon3、360浏览器的js本地图片预览

    这个资源"2014-5-6更新 兼容ie[6-9]、火狐、Chrome、opera、maxthon3、360浏览器的js本地图片预览"提供了一个JavaScript解决方案,用于实现一个功能强大的本地图片预览功能,它能在多种主流浏览器中正常工作,包括...

    html5移动端图片上传本地生成缩略图预览(单图上传)

    HTML5在移动端的图片上传和预览功能是现代网页开发中的常见需求,尤其在移动设备上,用户期望能够即时查看即将上传的图片效果。本文将详细介绍如何利用HTML5的File API和Canvas技术来实现移动端的图片本地预览和缩略...

    h5实现上传图片本地预览

    这个html文件用html5实现了本地图片上传,在上传服务器前回显预览的功能

    jquery 本地上传图片预览Demo

    首先,本地图片预览功能的核心在于读取用户选择的文件,并在不实际上传的情况下在浏览器中显示。在HTML5中,File API提供了一个这样的机制,允许我们访问和操作用户选取的文件。在jQuery插件中,我们可以利用这些API...

    HTML5图片预览工具代码.zip

    在本资源"HTML5图片预览工具代码.zip"中,我们得到了一个利用HTML5特性实现的图片预览工具,该工具支持用户对图片进行多种操作,如自由拖动、旋转等。 首先,让我们深入了解HTML5中的关键特性是如何在这个工具中...

    PHP上传图片带预览功能

    以上代码实现了基本的图片上传和预览功能,但实际应用中可能还需要考虑其他方面,例如错误处理、文件名冲突、安全检查(防止恶意文件上传)、图像尺寸调整等。你可以根据项目需求进一步扩展这些功能,例如通过GD库或...

    图片上传,html页面,本地预览,后台前台页面代码都有

    在图片上传的功能中,HTML可以创建一个表单,包含一个`&lt;input&gt;`标签,类型为`file`,让用户选择本地图片。例如: ```html *" onchange="previewImage(this)"&gt; ``` 这里的`accept`属性限制用户只能选择图像文件,`...

    Jquery 表单验证+本地图片上传-切割-预览

    在本项目中,"Jquery 表单验证+本地图片上传-切割-预览"是一个综合性的前端开发实例,它涵盖了几个重要的JavaScript库和技术,包括jQuery、表单验证、图片上传、图片切割以及预览功能。以下是这些知识点的详细解释:...

    html网页js打开文件对话框带预览框.JS实现文件上传前先本地预览功能

    图片,并实时预览_freedom-CSDN博客.url"、"html file控件选择文件后立即预览 js实现 - Bodi - 博客园-上传图片后立即预览.url"以及"JS+HTML5 FileReader实现文件上传前本地预览功能_javascript技巧_脚本之家.url"等...

    图片上传本地预览插件

    - HTML5 File API:这是实现图片预览的基础,通过`&lt;input type="file"&gt;`元素让用户选择文件,并利用FileReader接口读取文件内容,使用`readAsDataURL()`方法将图片转换为Base64编码的URL,然后显示在`&lt;img&gt;`标签中...

    HTML5 图片上传 带预览功能 (pc,手机都能适配)

    总的来说,实现HTML5图片上传带预览功能,需要结合HTML5的File API、FormData、XMLHttpRequest或fetch API等技术,并通过JavaScript和CSS进行交互和布局的处理。通过以上步骤,我们可以创建一个既能在PC上良好运行,...

    H5实现多图片预览上传,可点击可拖拽

    本文将深入探讨如何使用H5实现多图片预览、上传功能,并支持点击和拖拽操作,同时保持界面的美观和接口的简洁性。在图片上传控件的设计中,用户体验和功能实现是两个关键要素。 首先,我们要了解HTML5引入的新特性...

    HTML5实现图片裁剪功能.zip

    "HTML5 本地裁剪图片.doc"可能包含了更详细的代码示例和实现步骤,而"基于 HTML5 实现本地图片裁剪_HTML5_实验楼 - 实验楼.url"则可能是指向一个在线实验平台的链接,该平台可能提供了实践这个功能的环境和指导。...

Global site tag (gtag.js) - Google Analytics