fileReader()
2016-04-27 21:21
295 查看
File Interface
A File object in JavaScript references an actual file in the local filesystem.This File object inherits all properties and methods from the Blob class.
Although the File objects and Blob objects are different, they expose same methods and properties.
There is no way to create a File object, some JavaScript API return references File objects.
File object can be retrieved from a FileList object returned as a result of a user selecting files using the <input> element or from a drag and drop operation’s DataTransfer object.
Constructors
new FileReader() : FileReaderConstructs a new FileReader.
Example:
<input type='file' accept='image/*' onchange='openFile(event)'><br> <img id='output'> <script> var openFile = function(event) { var input = event.target; var reader = new FileReader(); reader.onload = function(){ var dataURL = reader.result; var output = document.getElementById('output'); output.src = dataURL; }; reader.readAsDataURL(input.files[0]); }; </script>
Instance Properties
error : Error readonlyThe error encountered during load.
<input type='file' onchange='openFile(event)'> <script> var openFile = function(event) { var input = event.target; var reader = new FileReader(); reader.onloadstart = function() { reader.abort(); }; reader.onloadend = function() { console.log(reader.error.message); }; reader.readAsDataURL(input.files[0]); }; </script>
readyState : Number readonly
The current state of the reader. Will be one of
EMPTY,
LOADING, or
DONE.
<input type='file' onchange='openFile(event)'> <script> var stateNames = {}; stateNames[FileReader.EMPTY] = 'EMPTY'; stateNames[FileReader.LOADING] = 'LOADING'; stateNames[FileReader.DONE] = 'DONE'; var openFile = function(event) { var input = event.target; var reader = new FileReader(); reader.onload = function(){ console.log('After load: ' + stateNames[reader.readyState]); }; console.log('Before read: ' + stateNames[reader.readyState]); reader.readAsDataURL(input.files[0]); console.log('After read: ' + stateNames[reader.readyState]); }; </script>
result : Object readonly
The result from the previous read. The result will be either a
Stringor an
ArrayBuffer. The result is only available after the
loadevent fires.
<input type='file' accept='image/*' onchange='openFile(event)'><br> <img id='output'> <script> var openFile = function(event) { var input = event.target; var reader = new FileReader(); reader.onload = function(){ var dataURL = reader.result; var output = document.getElementById('output'); output.src = dataURL; }; reader.readAsDataURL(input.files[0]); }; </script>
Instance Methods
abort() : undefinedStops the current read operation.
readAsArrayBuffer(blob : Blob) : undefined
Begins reading from
blobas an
ArrayBuffer. The result will be stored on
this.resultafter the
'load'event fires.
<input type='file' onchange='openFile(event)'> <script> var openFile = function(event) { var input = event.target; var reader = new FileReader(); reader.onload = function(){ var arrayBuffer = reader.result; console.log(arrayBuffer.byteLength); }; reader.readAsArrayBuffer(input.files[0]); }; </script>
readAsDataURL(blob : Blob) : undefined
Begins reading from
blobas a
'data:'url string. The result will be stored on
this.resultafter the
'load'event fires.
<input type='file' onchange='openFile(event)'> <script> var openFile = function(event) { console.log('entering openFile()'); var input = event.target; var printEventType = function(event) { console.log('got event: ' + event.type); }; var reader = new FileReader(); reader.onloadstart = printEventType; reader.onprogress = printEventType; reader.onload = printEventType; reader.onloadend = printEventType; console.log(' starting read'); reader.readAsDataURL(input.files[0]); console.log('leaving openFile()'); }; </script>
View Code
FileReader Properties
DONE : Number readonly value = 2The value returned by
readyStateafter the
loadevent has fired.
EMPTY : Number readonly value = 0
The value returned by
readyStatebefore the one of the read methods has been called.
LOADING : Number readonly value = 1
The value returned by
readyStateafter one of the read methods has been called but before the
loadevent has fired.
相关文章推荐
- Windows核心编程之线程内幕
- 逆序输出字符串
- 相对布局和线形布局
- 【2016.4.27】二维数组分组:按照一个键值,按照多个键值
- [置顶] LaTex 符号大全
- Mybatis 一对一,一对多,多对一,多对多的理解
- 层模型--固定定位(参考医院网站底部提示框)
- 层模型--固定定位(参考医院网站底部提示框)
- 层模型--固定定位(参考医院网站底部提示框)
- 层模型--固定定位(参考医院网站底部提示框)
- 层模型--固定定位(参考医院网站底部提示框)
- 层模型--固定定位(参考医院网站底部提示框)
- 层模型--固定定位(参考医院网站底部提示框)
- 层模型--固定定位(参考医院网站底部提示框)
- 层模型--固定定位(参考医院网站底部提示框)
- 层模型--固定定位(参考医院网站底部提示框)
- 层模型--固定定位(参考医院网站底部提示框)
- 层模型--固定定位(参考医院网站底部提示框)
- 层模型--固定定位(参考医院网站底部提示框)
- 层模型--固定定位(参考医院网站底部提示框)