如题,利用input type=file和FileReader API实现在浏览器客户端通过选择对话框读取文件,代码如下,以读取文本文件为例:
<!DOCTYPE html>
<html>
<head>
<title><input> File Selection</title>
</head>
<body>
<h1>HTML5 <input> File Selection</h1>
<h3>Example 1</h3>
<input type="file" id="fileSelector" multiple />
<script type="text/javascript">
var message = [];
if (!document.getElementById('fileSelector').files) {
message = '<p>浏览器不支持FileReader API</p>';
document.querySelector('body').innerHTML = message;
}
else {
document.getElementById('fileSelector').addEventListener('change', handleFileSelection, false);
}
function handleFileSelection(evt) {
var files = evt.target.files;
if (!files) {
msa.alert("<p>At least one selected file is invalid - do not select any folders.</p><p>Please reselect and try again.</p>");
return;
}
var fileType = files[0].type;
reader = new FileReader();
if (fileType.indexOf('text/plain') == -1) {
alert('请选择文本文件~');
return;
}
reader.onload = function(e) {
console.log(this.result);
}
reader.readAsText(files[0]);
}
</script>
</body>
</html>
分享到:
相关推荐
用法用户选择文件后: // Grab a file referencevar file = document . getElementById ( 'my-file-input' ) . files [ 0 ] ;// Create a new instance of the LineReadervar lr = new LineReader ( ) ;// Bind to ...
说明:使用Ajax方式上传,文件不能过大,最好小于三四百兆,因为过多的连续Ajax请求会使后台崩溃,获取InputStream中数据会为空,尤其在Google浏览器测试过程中。 1.简单分段读取文件为Blob,ajax上传到服务器 ...
前端上传图片的原理是:运用input type=“file”的标签获取图片,再使用FileReader这个对象 new 一个实例,通过这个对象的readAsDataURL()方法读取file标签获取的图片并转换为base64格式,完成之后通过ajax之类的...
FileReader是H5浏览器才支持的JS类,如果不支持H5de浏览器可以使用FormData类实现文件的上传预览,使用可以参考我的下一篇博客:JS中FormData类实现文件上传 代码: <!DOCTYPE html> <html lang=en> <...
代码如下: <!... <head> <... charset=UTF-8″ http-equiv=”... [removed] var loadImageFile = (function () { if (window.FileReader) { var oPreviewImg = null, oFReader = new window.FileReader(), rFilt
input type="file" /> <div id="demo"> [removed] /* FileReader共有4种读取方法: 1.readAsArrayBuffer(file):将文件读取为ArrayBuffer。 2.readAsBinaryString(file):将文件读取为二进制字符串 3....
文件的上传利用input标签的type=”file”属性,读取用FileReader对象,下载通过创建a标签实现 <div class=filediv> <el click=downloadFile>下载 <div id=fileselect> <el xss=removed type=file> <...
本文实例为大家分享了javascript html5实现多文件上传的实现方法,具体内容如下 ... <div class=container> ... 重点就是如何处理这个change事件了,使用H5新的FileReader接口读取文件并打成base64编码
敲除文件一个简单的剔除绑定2.3+,允许您使用HTML5 FileReader功能将文件加载到浏览器中。 现在有了模块加载器和拖放支持...哇!正在安装将基因敲除2.3.js添加到您的项目中,然后将基因敲除.files.js添加到您的项目...
话说今天只是粗略浏览了一下Proxy SwitchySharp的源码,就收获了不少东西,其中就包括本文要介绍的读取和保存文件。因为Google还不提供同步插件数据的功能,所以导入和导出插件配置就必须和文件打交道了。而出于安全...
Leaflet.FileLayer, 使用HTML5文件API将文件本地( GeoJSON,KML,GPX ) 加载为层 Leaflet.FileLayer使用 ...简单的地图控件用户可以在本地浏览文件它被本地读取( FileReader ) 并转换为 GeoJSON最终作为一个层加载 !
主要为利用input type=file, accept="image/*" 进行处理 图片预览方式(两种) const file = e.target.files[0] // 方式1 const url1 = window.URL.createObjectURL(file); let url2 // 方式2 const reader = new ...
在发布到服务器之前上传图像(如果浏览器支持FileReader) 通过xhr和iframe上传图片(适用于旧版浏览器) 文件数据已嵌入模型中,但可以单独读取 使用POST方法上传文件,每个文件每个请求 对于AngularJS 1.2+,...
超轻便,快速JavaScript库,用于从由Adobe Photoshop和Adobe Lightroom编写的JPEG文件中读取和解析元数据(例如Title , Description等)。 安装 npm i xmp-js 用法 在浏览器中 < script src = "dist/xmp.iife....
那么要实现预览有两种方式:一种是用window.URL.createObjectURl方法对选择的图片数据(可以勉强理解为input的value)生成一个blob对象路径,第二种是用获取 FileReader读取器。 那么无论那种方法,首先都得得到文件...
import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import javax.swing.BorderFactory; import javax.swing.JFileChooser; import javax.swing.JFrame; import javax.swing....
FileReader 实例中有四个方法来读取文件数据 1、readAsBinaryString(Blob|File) 2、readAsDataURL(Blob|File) 3、readAsText(Blob|File) 4、readAsArrayBuffer(Blob|File) FileReader 实例包含很多事件(onerror, ...
使用FileReader对象,web应用程序可以异步的读取存储在用户计算机上的文件(或者原始数据缓冲)内容,可以使用File对象或者Blob对象来指定所要处理的文件或数据.其中File对象可以是来自用户在一个<input type=”text...
file: "#file", // 上传图片的<input type="file">控件的选择器或者DOM对象 view: "#view", // 显示截取后图像的容器的选择器或者DOM对象 ok: "#clipBtn", // 确认截图按钮的选择器或者DOM对象 loadStart: ...
在这之前,我曾经通过订阅input[type=file]元素的onchange事件,一旦更改路径则将图片上传至服务器,接着就获取图片路径并赋值到img元素上。先不管文件异步提交的解决方案,就是服务端清理那些临时的预览图片已经...