文件长度未定义
File length is undefined
使用 Tizen SDK 的文件系统 API,我得到一个 javascript 文件对象,它在 console.log 上打印以下数据:
File
created: Thu Dec 14 2017 09:59:51 GMT+0100 (CET)
fullPath: "/opt/share/folder/image.jpg"
get fileSize: function fileSizeGetter() {var _realPath=commonFS_.toRealPath(this.fullPath);var _result=native_.callSync('File_statSync',{location:_realPath});var _aStatObj=native_.getResultObject(_result);return _aStatObj.isFile?_aStatObj.size:undefined;}
isDirectory: false
isFile: true
length: undefined
mode: "rw"
modified: Thu Dec 14 2017 09:59:51 GMT+0100 (CET)
name: "image.jpg"
parent: File
path: "/opt/share/folder/"
readOnly: false
set fileSize: function () {}
__proto__: File
问题是文件的长度是未定义。这导致我的 Filereader readyState 停留在 0 (EMPTY) 状态(或者问题可能出在其他地方)。
为什么我的代码返回未定义的长度参数?
我的代码:
tizen.filesystem.resolve('/opt/share/folder/image.jpg', function(file) {
console.log(file);
var reader = new FileReader();
console.log(reader);
reader.readAsArrayBuffer(file);
reader.onload = fileLoad;
reader.onerror = function(evt){
console.log(evt.target.error.name);
}
});
reader 的控制台值:
FileReader
constructor: FileReaderConstructor
error: null
onabort: null
onerror: function (evt) {
onload: function fileLoad(evt) {
onloadend: null
onloadstart: null
onprogress: null
readyState: 0
result: null
__proto__: FileReaderPrototype
精度:
正在使用文件 url 在 canvas 中插入图像,并且该文件存在于设备上
根据the documentation, length
is for File
instances representing directories (it tells you how many files and directories the directory contains). For a File
actually representing a file, you'd use fileSize
。
我在 Tizen file system documentation. Instead, examples reading and writing files 中的任何地方都没有看到 FileReader
通过 openStream
使用 FileStream
。
使用 Tizen SDK 的文件系统 API,我得到一个 javascript 文件对象,它在 console.log 上打印以下数据:
File
created: Thu Dec 14 2017 09:59:51 GMT+0100 (CET)
fullPath: "/opt/share/folder/image.jpg"
get fileSize: function fileSizeGetter() {var _realPath=commonFS_.toRealPath(this.fullPath);var _result=native_.callSync('File_statSync',{location:_realPath});var _aStatObj=native_.getResultObject(_result);return _aStatObj.isFile?_aStatObj.size:undefined;}
isDirectory: false
isFile: true
length: undefined
mode: "rw"
modified: Thu Dec 14 2017 09:59:51 GMT+0100 (CET)
name: "image.jpg"
parent: File
path: "/opt/share/folder/"
readOnly: false
set fileSize: function () {}
__proto__: File
问题是文件的长度是未定义。这导致我的 Filereader readyState 停留在 0 (EMPTY) 状态(或者问题可能出在其他地方)。
为什么我的代码返回未定义的长度参数?
我的代码:
tizen.filesystem.resolve('/opt/share/folder/image.jpg', function(file) {
console.log(file);
var reader = new FileReader();
console.log(reader);
reader.readAsArrayBuffer(file);
reader.onload = fileLoad;
reader.onerror = function(evt){
console.log(evt.target.error.name);
}
});
reader 的控制台值:
FileReader
constructor: FileReaderConstructor
error: null
onabort: null
onerror: function (evt) {
onload: function fileLoad(evt) {
onloadend: null
onloadstart: null
onprogress: null
readyState: 0
result: null
__proto__: FileReaderPrototype
精度:
正在使用文件 url 在 canvas 中插入图像,并且该文件存在于设备上
根据the documentation, length
is for File
instances representing directories (it tells you how many files and directories the directory contains). For a File
actually representing a file, you'd use fileSize
。
我在 Tizen file system documentation. Instead, examples reading and writing files 中的任何地方都没有看到 FileReader
通过 openStream
使用 FileStream
。