<!DOCTYPE html> <html> <head lang="en"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <title></title> </head> <body> <h3>文本选择预览</h3> <input type="file" id="file" onchange="readAsText(this.files)"/> <div id="fileContent" style="background-color: #e3ceab;"></div> <script> function readAsText(files) { if(files.length) { var file = files[0]; var reader = new FileReader(); reader.onload = function(){ document.getElementById("fileContent").innerHTML = this.result; }; reader.readAsText(file); } } function handleFiles(files){ for (var i = 0; i < files.length; i++) { var file = files[i]; var imageType = /image.*/; if (!file.type.match(imageType)) { continue; } var img = document.createElement("img"); img.classList.add("obj"); img.file = file; preview.appendChild(img); var reader = new FileReader(); reader.onload = (function(aImg){ return function(e){ aImg.src = e.target.result; }; })(img); reader.readAsDataURL(file); } } </script> <hr/> <h3>文本拖拽预览</h3> <div id="dropbox" style="width: 100%;min-height: 200px;background-color: #b2dba1;"> <p>Drop Here</p> <div id="fileContent2" style="background-color: #a8ff60;"></div> <script> var dropbox = document.getElementById("dropbox"); dropbox.addEventListener("dragenter", dragenter, false); dropbox.addEventListener("dragover", dragover, false); dropbox.addEventListener("drop", drop, false); function dragenter(e) { e.stopPropagation(); e.preventDefault(); } function dragover(e) { e.stopPropagation(); e.preventDefault(); } function drop(e) { e.stopPropagation(); e.preventDefault(); var dt = e.dataTransfer; var files = dt.files; if(files.length){ var file = files[0]; var reader = new FileReader(); reader.onload = function() { document.getElementById("fileContent2").innerHTML = this.result; }; reader.readAsText(file); } } </script> </div> <hr/> <h3>图片预览</h3> <input type="file" multiple onchange="handleFiles(this.files)"/> <div id="preview"></div> <script> var preview = document.querySelector("#preview"); function handleFiles(files){ console.info(files); for (var i = 0; i < files.length; i++) { var file = files[i]; var imageType = /image.*/; if (!file.type.match(imageType)) { continue; } var img = document.createElement("img"); img.classList.add("obj"); img.file = file; preview.appendChild(img); var reader = new FileReader(); reader.onload = (function(aImg){ return function(e){ aImg.src = e.target.result; }; })(img); reader.readAsDataURL(file); } } </script> </body> </html>
相关推荐
HTML5 FileReader API 提供了读取本地文件的方法,这些方法包括读取文件为文本、二进制字符串、DataURL(Base64编码的字符串)等。以下是一些核心的API方法: 1. `readAsText(file, encoding)`: 这个方法用于读取...
FileReader 接口的使用场景非常广泛,如上传文件、预览图片、读取文件内容等。下面我们将详细介绍 FileReader 接口的使用方法和事件模型。 FileReader 接口的方法 FileReader 接口提供了四个方法: 1. ...
`FileReader`对象可以读取用户选择的文件,并通过`readAsDataURL()`方法将其转换为Base64编码的URL,然后将该URL赋值给`<img>`标签的`src`属性,从而实现图片预览。 2. **文件类型验证**: 验证用户上传的文件类型...
标题中的“基于Bootstrap.3的文件上传效果, 可拖拽上传、预览的HTML5文件上传插件.zip”指的是一个使用Bootstrap 3框架和HTML5技术实现的高级文件上传功能。这个插件允许用户通过拖放操作上传文件,并且在上传前可以...
`FileReader`提供了异步读取文件内容的方法,如`readAsDataURL`,它会将文件内容读取为一个Base64编码的数据URL,这可以直接用作`<img>`标签的`src`属性,从而实现图片预览: ```javascript function previewFile...
对于非图片类型的文件,可能需要提供不同的预览方式,比如文本文件可以显示部分文本内容,或者提供下载链接。 此外,HTML5还提供了FormData对象,它可以将文件和其他表单数据打包,通过XMLHttpRequest发送到服务器...
通过使用FileReader API,开发者可以在客户端进行诸如文件类型验证、大小限制、预览等操作,避免了不必要的服务器负载,提高了响应速度,同时也增强了安全性。例如,你可以检查文件类型是否符合预期,或者文件大小...
2. **FileReader对象**:创建FileReader对象后,可以使用它的方法读取FileList中的文件。主要有`readAsDataURL()`、`readAsText()`、`readAsArrayBuffer()`等,这里我们关注`readAsDataURL()`,它会读取文件内容并将...
4. **FileReader接口**:FileReader提供了读取文件的方法,如`readAsDataURL()`,`readAsText()`等。当用户选择文件后,可以通过这个接口将文件内容转化为数据URL或文本,实现预览效果。 5. **跨域资源共享(CORS)...
总结来说,利用 HTML 和 JavaScript,我们可以通过监听文件选择事件,使用 `FileReader` API 读取文件内容并将其转化为数据 URL,从而实现在不保存图片的情况下进行图片预览。这种方法在网页上传图片、在线编辑图片...
对于图片文件,我们通常使用`FileReader`的`readAsDataURL(file)`方法读取文件为data URL,这个URL可以直接用作`<img>`标签的`src`属性,展示图片预览。当`onload`事件触发时,表明读取完成,可以将生成的data URL...
JavaSctit(可能是JavaScript的误拼)利用FileReader和滤镜实现的上传图片预览功能,是Web应用中常用的一种技术,它允许用户在上传图片前先进行本地预览,提高了用户体验。FileReader对象是HTML5引入的一个关键API,...
总的来说,FileReader API为JavaScript提供了强大的本地文件处理能力,使得在Web应用中实现诸如图片预览、文件读取等功能变得更加便捷。通过合理利用这些API,开发者可以创建更加丰富、交互性更强的Web应用。
本篇文章将深入探讨如何使用Java来实现这一功能,特别是针对文本、图片以及PDF等常见类型的文件。 一、文本文件预览 对于文本文件(如.txt、.csv等),预览相对简单。Java提供了一系列内置的类,如`BufferedReader...
- 对于不支持`FileReader`的旧版IE浏览器,使用`DXImageTransform.Microsoft.AlphaImageLoader`实现图片预览。 #### 五、总结 通过上述代码,我们可以实现一个基本的图片上传预览功能。需要注意的是,在实际项目...
可以使用FileReader的`readAsDataURL`方法读取文件内容并将其转换为DataURL,然后设置为`<img>`元素的`src`属性: ```javascript function handleFileSelect(event) { const files = event.target.files; for ...
为了实现更高级的图片预览功能,还可以使用Lightbox插件,如Fancybox或Magnific Popup,它们提供了更丰富的用户体验,包括淡入淡出效果、全屏查看、图片导航箭头等。这些插件通常基于jQuery,通过引入相应的...
通过FileReader API的`readAsDataURL()`方法,可以将文件内容转换为数据URL,然后在页面上以`<img>`或`<iframe>`展示预览效果。 8. **文件删除**: 文件删除功能通常需要一个用户界面元素(如删除按钮),与...
这段代码实现了一个简单的文件选择器和图片预览功能。用户通过点击选择文件后,文件内容被读取为DataURL,并显示在页面上。这是一个非常实用的前端功能实现,尤其在网站需要用户上传个人头像或者产品图片时。 在...