【发布时间】:2015-10-08 08:14:50
【问题描述】:
在 JavaScript 中,如何创建模拟目录的File(或Blob)对象?
在 Chrome 43 上,当我记录一个拖入上传表单的图像文件时,我得到以下信息:
lastModified: 1426770718000
lastModifiedDate: Thu Mar 19 2015 06:11:58 GMT-0700 (PDT)
name: "Cornered.jpg"
size: 261343
type: "image/jpeg"
webkitRelativePath: ""
当我记录一个目录时,我得到这个:
lastModified: 1426770841000
lastModifiedDate: Thu Mar 19 2015 06:14:01 GMT-0700 (PDT)
name: "contest"
size: 476
type: ""
webkitRelativePath: ""
唯一的区别似乎是缺少扩展名和空的type。
This answer 描述了如何检测一个目录。我想模拟一个目录,这样我就可以为以下函数编写一个单元测试:
var isDirectory = function (blob, callback) {
var reader = new FileReader();
reader.addEventListener('load', function () {
callback(false);
});
reader.addEventListener('error', function () {
callback(true);
});
reader.readAsArrayBuffer(blob);
};
我尝试将new Blob([]) 传递给它,因为它也有一个空字符串type,但callback 仍然被false 调用。
【问题讨论】:
标签: javascript html file dom directory