从用户的本地系统获取文件的 属性(最后修改日期)
Getting the property of a file (last modified date) from user's local system
我可以使用下面的代码将用户选择的文件存储在本地存储中,并且能够在用户想要重用它时访问回来。
在我的例子中,我需要使用真实路径 (file:c:\data\test001.txt) 获取本地文件的 属性(最后修改日期),然后再使用本地存储中的文件,因为它可能有最新的变化。如果它有变化我可以重新触发上传给用户的文件。
我知道由于浏览器的限制,我们不能read/upload文件使用真实路径 (file:c:\data\test001.txt)。
//save the file in local store
var keyFile = 'ButtonFileFull';
localStorage.removeItem(key);
var file = $("#systemPath")[0].files[0];
var reader = new FileReader();
reader.onload = function (e) {
localStorage.setItem(keyFile, reader.result);
}
reader.readAsDataURL(file);
如果用户不重新select下载文件,您将无法执行此操作。尽管您可以从 File
实例的 lastModified
property 中获取该日期,但您从 $("#systemPath")[0].files[0]
获取该实例,这意味着...您必须让用户 select 文件再次进入 #systemPath
。 :-(
我可以使用下面的代码将用户选择的文件存储在本地存储中,并且能够在用户想要重用它时访问回来。
在我的例子中,我需要使用真实路径 (file:c:\data\test001.txt) 获取本地文件的 属性(最后修改日期),然后再使用本地存储中的文件,因为它可能有最新的变化。如果它有变化我可以重新触发上传给用户的文件。
我知道由于浏览器的限制,我们不能read/upload文件使用真实路径 (file:c:\data\test001.txt)。
//save the file in local store
var keyFile = 'ButtonFileFull';
localStorage.removeItem(key);
var file = $("#systemPath")[0].files[0];
var reader = new FileReader();
reader.onload = function (e) {
localStorage.setItem(keyFile, reader.result);
}
reader.readAsDataURL(file);
如果用户不重新select下载文件,您将无法执行此操作。尽管您可以从 File
实例的 lastModified
property 中获取该日期,但您从 $("#systemPath")[0].files[0]
获取该实例,这意味着...您必须让用户 select 文件再次进入 #systemPath
。 :-(