FileReader createObjectURL
2015-12-15 11:20
561 查看
<h1>FileReader</h1>
FileReader:<br />
提供了读取文件的方法和结果的事件模型<br />
使用它web可以异步的读取计算机上的文件或原始数据缓冲的内容。
可以使用file 或blod对象来指定所要处理的文件或数据。
其中file对象可以来自于input上返回的filelist对象。
也可以来自拖放操作生成的 DataTransfer对象,还可以是来自在一个HTMLCanvasElement上执行mozGetAsFile()方法后的返回结果
var a=new FileReader();//创建
方法:<br />
readAsBinaryString(file) 将文件读取为二进制编码,通常将它传递到后台,后台 来储存。
readAsText(file,encoding) 将文件读取为文本,第二参为编码方式,默认是utf-8。
readAsDataURL(file) 将文件读取为dataUrl,以data:开头的。dataurl是一种将小文件直接嵌入文档的方案。
abort() 终端读取操作<br />
处理事件:<br />
onabort 中断时触发<br />
onerror 出错时触发<br />
onload 文件读取成功时触发:函数内this.result<br />
onloadend 读取完成触 发不论成功或失败<br />
onloadstart 读取开始时触 发<br />
onprogress 读取中<br />
<p>
<label>请选择一个文件:</label> <br />
<input type="file" id="file" /> <br />
<input type="button" value="读取图像" onclick="readAsDataURL()" />
<input type="button" value="读取二进制数据" onclick="readAsBinaryString()" />
<input type="button" value="读取文本文件" onclick="readAsText()" />
<br>
<input type="button" value="createObjectURL" onclick="createObjectURL()">
</p>
<div id="result" name="result"></div>
<script>
var file=document.querySelector('#file');
function readAsDataURL(){
var a=new FileReader();
a.onload=function(e){
console.log(e.target.result);
console.log(this.result);
var img=new Image();
img.src=this.result;
document.body.appendChild(img)
}
//加载进度
a.onprogress=function(e){
console.log(e.loaded);
}
a.readAsDataURL(file.files[0]);
}
function readAsBinaryString(){
var a=new FileReader();
a.onload=function(e){
console.log(e.target.result);
console.log(this.result);
}
//加载进度
a.onprogress=function(e){
console.log(e.loaded);
}
a.readAsBinaryString(file.files[0]);
}
function readAsText(){
var a=new FileReader();
a.onload=function(e){
console.log(e.target.result);
console.log(this.result);
}
//加载进度
a.onprogress=function(e){
console.log(e.loaded);
}
a.readAsBinaryString(file.files[0]);
}
</script>
<h1>createObjectURL</h1>
<p>
方法会根据传入的参数创建一个指向该对象的url.
参数可是blob file
</p>
<p>
URL.revokeObjectURL(obj)
释放一个object对象,
</p>
<script>
function createObjectURL(){
window.o=URL.createObjectURL(file.files[0]);
var img=new Image();
img.src=o;
img.onload=function(){
URL.revokeObjectURL(o);
}
document.body.appendChild(img);
}
</script>
<h1>blob</h1>
<p>
file对象只是blob对象的一个更具体的版本.
blob存储着大量的二进制数据,并且blob的size和type属性,
被file对象继承。
所以, 在大多数情况下,blob 对象和 file 对象可以用在同一个地方,例如,可以使用 FileReader 借口从 blob 读取数据,也可以使用 URL.createObjectURL() 从 blob 创建一个新的 URL 对象。<br/>
创建方法需要二个参数,一个是内容,另一个是对象,用来设置编码等
</p>
<script>
var blob = new Blob(["Hello World!"],{type:"text/plain"});
</script>
FileReader:<br />
提供了读取文件的方法和结果的事件模型<br />
使用它web可以异步的读取计算机上的文件或原始数据缓冲的内容。
可以使用file 或blod对象来指定所要处理的文件或数据。
其中file对象可以来自于input上返回的filelist对象。
也可以来自拖放操作生成的 DataTransfer对象,还可以是来自在一个HTMLCanvasElement上执行mozGetAsFile()方法后的返回结果
var a=new FileReader();//创建
方法:<br />
readAsBinaryString(file) 将文件读取为二进制编码,通常将它传递到后台,后台 来储存。
readAsText(file,encoding) 将文件读取为文本,第二参为编码方式,默认是utf-8。
readAsDataURL(file) 将文件读取为dataUrl,以data:开头的。dataurl是一种将小文件直接嵌入文档的方案。
abort() 终端读取操作<br />
处理事件:<br />
onabort 中断时触发<br />
onerror 出错时触发<br />
onload 文件读取成功时触发:函数内this.result<br />
onloadend 读取完成触 发不论成功或失败<br />
onloadstart 读取开始时触 发<br />
onprogress 读取中<br />
<p>
<label>请选择一个文件:</label> <br />
<input type="file" id="file" /> <br />
<input type="button" value="读取图像" onclick="readAsDataURL()" />
<input type="button" value="读取二进制数据" onclick="readAsBinaryString()" />
<input type="button" value="读取文本文件" onclick="readAsText()" />
<br>
<input type="button" value="createObjectURL" onclick="createObjectURL()">
</p>
<div id="result" name="result"></div>
<script>
var file=document.querySelector('#file');
function readAsDataURL(){
var a=new FileReader();
a.onload=function(e){
console.log(e.target.result);
console.log(this.result);
var img=new Image();
img.src=this.result;
document.body.appendChild(img)
}
//加载进度
a.onprogress=function(e){
console.log(e.loaded);
}
a.readAsDataURL(file.files[0]);
}
function readAsBinaryString(){
var a=new FileReader();
a.onload=function(e){
console.log(e.target.result);
console.log(this.result);
}
//加载进度
a.onprogress=function(e){
console.log(e.loaded);
}
a.readAsBinaryString(file.files[0]);
}
function readAsText(){
var a=new FileReader();
a.onload=function(e){
console.log(e.target.result);
console.log(this.result);
}
//加载进度
a.onprogress=function(e){
console.log(e.loaded);
}
a.readAsBinaryString(file.files[0]);
}
</script>
<h1>createObjectURL</h1>
<p>
方法会根据传入的参数创建一个指向该对象的url.
参数可是blob file
</p>
<p>
URL.revokeObjectURL(obj)
释放一个object对象,
</p>
<script>
function createObjectURL(){
window.o=URL.createObjectURL(file.files[0]);
var img=new Image();
img.src=o;
img.onload=function(){
URL.revokeObjectURL(o);
}
document.body.appendChild(img);
}
</script>
<h1>blob</h1>
<p>
file对象只是blob对象的一个更具体的版本.
blob存储着大量的二进制数据,并且blob的size和type属性,
被file对象继承。
所以, 在大多数情况下,blob 对象和 file 对象可以用在同一个地方,例如,可以使用 FileReader 借口从 blob 读取数据,也可以使用 URL.createObjectURL() 从 blob 创建一个新的 URL 对象。<br/>
创建方法需要二个参数,一个是内容,另一个是对象,用来设置编码等
</p>
<script>
var blob = new Blob(["Hello World!"],{type:"text/plain"});
</script>
相关文章推荐
- [转]PDF预览插件PDFObject.js
- error while loading shared libraries: libreadline.so.5: cannot open shared object file
- 在IE中使用ActiveX控件,需要使用HTML中的标志是<OBJECT>,该标记几个重要的参数特性有:
- 【OpenGL】OpenGL帧缓存对象(FBO:Frame Buffer Object) 【转】
- 线程中CreateEvent和SetEvent及WaitForSingleObject的用法
- JSON中JObject和JArray的修改
- Objective-C中的内存管理
- ObObjective-c 采集试图 UICollection
- Objective-c for 循环 九宫格
- java ObjectInputStream学习小记
- object is not afunction错误
- object-c定义属性与成员变量的区别
- Objective-C 数组一 "不可变数组"
- 【转】Objective-C Runtime 消息机制
- IOS开发之NSDictionary里setValue:forKey与setObject:forKey、objectForKey与valueForKey的差异
- Java Object Model(一)
- 由NSObject学到的一点基本知识
- object-c(oc)内存管理机制详解
- 关于PinnedHeaderExpandableListView使用的时候on a null object reference
- Java Socket编程中使用ObjectOutputStream 和 ObjectInputStream 出现问题