Javascript;HTML文件API-基于文件对象的javascript对象是否仍然包含文件'的位置
Javascript & HTML File API- can a javascript object based on a file object still contain the file's location?
假设我有一个用户选择的文件数组。
在我的应用程序中,每个选定的文件都对应一个人。一旦用户选择了文件,就会出现一个表格。左列是每个文件的名称。在右侧栏中,用户必须填写相关人员的姓名。填写完所有名称后,用户就可以上传文件了。由于可能有数百个名称需要填写,我希望能够定期将用户的进度保存到localStorage,以防页面刷新。
我可以将每个文件对象(varthisFile)传递给上传脚本,浏览器就会知道该文件的位置。
然而,我希望能够将所选文件的列表保存在localStorage中,JSON.stringify将剥离一个文件对象。
假设我首先基于文件对象创建一个javascript对象(下面是varfile)。
如果我将varfile传递给上传脚本,浏览器是否仍然能够定位该文件,或者该文件的完整路径是否已经丢失?
for (var i = 0; i < userSelectedFiles.length; i++) {
//File object (Stripped out by JSON.stringify).
var thisFile = userSelectedFiles[i];
//Create a javascript object based on the file object (Not stripped out by JSON.stringify).
var file: {
'lastModified': thisFile.lastModified,
'lastModifiedDate': thisFile.lastModifiedDate,
'name': thisFile.name,
'size': thisFile.size,
'type': thisFile.type
},
}
经过更多的研究,我发现浏览器刷新后必须重新选择文件——文件的位置不能存储在localStorage中。
您可以将文件保存到脱机存储。
- 阅读这篇关于离线存储offline_storage和配额研究的文章
- 阅读文档LocalFileSystem
- 您可以在此处测试脱机存储测试页面
- 如何使用链接
以下是WebKit浏览器(chrome和opera)创建带有内容的文件->info.txt的示例,您需要询问用户存储配额,在本例中,是10mb。
var maxSize = 1024 * 1024 * 10;
var onError = function() {};
var requestFs = window.requestFileSystem ||
window.webkitRequestFileSystem ||
window.mozRequestFileSystem ||
window.msRequestFileSystem || undefined;
var onRequest = function(grantedSize) {
requestFs(window.PERSISTENT, grantedSize, function(filesystem) {
filesystem.root.getFile("info.txt", {create: true}, function(DatFile) {
DatFile.createWriter(function(DatContent) {
var blob = /** your file or blob*/;
DatContent.write(blob);
});
});
}, onError)
};
navigator.webkitPersistentStorage.requestQuota(maxSize, onRequest, onError);
相关文章:
- 仅使用文件对象选择单个文件
- S3文件上传文件对象使用节点js
- 如何打开文件对象(HTML)并在谷歌应用程序脚本中解析它
- Grunt 可以直接从文件对象/数组或 glob 中的“src”值通过 HTTP 加载远程文件
- 如何使用springmvc控制器通过ajax sumbit传递文件对象
- Javascript;HTML文件API-基于文件对象的javascript对象是否仍然包含文件'的位置
- 如何获取上传的SVG文件对象的内容
- 存储/检索 html 5 文件对象,用于恢复损坏的文件上传
- 在浏览器上传后操作文件对象的正文
- 如何将 Base64 字符串转换为 javascript 文件对象,就像从文件输入表单一样
- 将图像对象转换为文件对象,javascript
- 覆盖 JavaScript 文件对象
- 如何将 Javascript 文件对象 + 数据发送到 MVC 6 控制器 - ASP.NET 5.
- 如何将图像源绑定到角度文件对象
- 如何使用angularjs或jquery将每个点击的按钮操作保存在json文件/对象中
- 通过在javascript中提供硬编码路径来获取文件对象
- 文件对象错误
- 将文件对象从Javascript传递到Web API
- 如何从phonegap的html5输入字段文件对象获取路径
- 在以下场景中,如何使代码可用于多个文件文件对象