无法为文件对象大小属性添加值

时间:2016-09-23 10:24:36

标签: javascript angularjs

我在JavaScript中创建了一个文件对象,但我无法在size属性中添加值。

vm.allFiles[key] = new File([], value.fileName, {
    size: value.fileSize // this doesn't work
});
vm.allFiles[key].current = 'done';
vm.allFiles[key].fileID = value.id;
// vm.allFiles[key].size = value.fileSize - this gives error of Cannot assign to read only property 'size' of object '#<File>'

编辑:关于答案。

从服务器返回的value只是Object而不是File对象类型。之所以我需要将其作为File对象,因为新上传的文件将存储到vm.allFiles数组。

2 个答案:

答案 0 :(得分:2)

size上的File属性继承自Blob。 <{1}}上的size属性为只读。

https://developer.mozilla.org/en-US/docs/Web/API/Blob

如果要强制覆盖该属性,可以执行以下操作:

Blob

答案 1 :(得分:0)

  

Blob对象表示不可变的原始数据的类文件对象。 Blob表示不一定采用JavaScript本机格式的数据。 File接口基于Blob,继承blob功能并将其扩展为支持用户系统上的文件。

来源:https://developer.mozilla.org/en-US/docs/Web/API/Blob