如何使用javascript或jquery在浏览器上获取文件创建日期

时间:2015-01-06 14:07:48

标签: javascript php jquery jquery-file-upload html5-filesystem

我需要在上传xls文件时找出文件创建日期和文件上次修改日期,我必须在这2个日期做一些计算。

通过使用下面的代码,我可以很容易地获得文件的最后修改日期。

$('#userfile').bind('change', function() {
  //this.files[0].size gets the size of your file.
  alert((this.files[0].lastModifiedDate));
  alert((this.files[0].DateCreated));
  $file_full_path =this.files[0].mozFullPath;
  alert(alert);
});

我无法找到文件创建日期。任何人都可以帮助我。

我也通过php尝试过,但是不可能通过php,因为php不会将此信息发送给服务器。

请告诉我有没有办法获取这些信息。 感谢。

2 个答案:

答案 0 :(得分:1)

您无法获得创建日期。文件属性中只有最后修改日期可用。

源: http://forum.jquery.com/topic/jquery-file-creation-date-before-upload

对于PHP,这里有一个提供答案的帖子:PHP: how can I get file creation date?

答案 1 :(得分:0)

似乎与lastModified属性不同,没有HTML DOM dateCreated属性。因此,如果JS需要访问文档的创建日期,则它必须通过应有权访问文件系统的文件元数据来访问它。

JS无法访问文件系统是浏览器中的一项安全功能。但是,如果有人想知道如何获取NodeJS中JS文档的创建日期(当然可以访问文件系统),那么他们可以使用file system模块来获取birthtime属性,如下所示:

const fs = require('fs');

var file = "location-of-my-file";
var dateCreated = fs.statSync(file).birthtime;

console.log("This File was born on:" + dateCreated);

注意:仅当您正在编写NodeJS应用程序时,以上内容才适用。这将无法在普通的网络浏览器上运行,而是会出现以下控制台错误:Uncaught ReferenceError: require is not defined