【问题标题】:How can I cache a csv for Papa Parse to parse?如何缓存 csv 供 Papa Parse 解析?
【发布时间】:2015-01-21 01:18:55
【问题描述】:

我非常不熟悉缓存的工作原理,所以我想知道如何在第一次从服务器上提取 csv 文件,但在随后的刷新中使用缓存的 csv 文件?

我知道如何从服务器获取文件,并通过 PapaParse 解析它。但是,我不知道如何缓存该 csv,甚至不知道如何通过 PapaParse 访问缓存。

更进一步,我如何检查这个 csv 文件多久以前更新过,如果需要更新,请再次将 csv 从服务器上拉下来?我知道 Javascript 中有一个 lastModified 属性,但不清楚它是否适用于缓存文件。

【问题讨论】:

标签: javascript php browser-cache papaparse


【解决方案1】:

您从中下载 CSV 文件的浏览器和服务器应该为您协商缓存;我可能会误解,但我不确定 Papa Parse 会与此有什么关系。

对于最后修改日期,如果文件恰好被页面上带有<input type="file"> 元素的用户选中,您可以访问文件对象并检查其lastModifiedlastModifiedDate 属性(至少,它们存在于 Chrome 上)。

要获取要下载的文件的最后修改日期,MDN has an example 已为您准备好:

function getHeaderTime () {
  alert(this.getResponseHeader("Last-Modified"));  /* A valid GMTString date or null */
}

var oReq = new XMLHttpRequest();
oReq.open("HEAD" /* use HEAD if you only need the headers! */, "yourpage.html", true);
oReq.onload = getHeaderTime;
oReq.send();

这只是做一个 HEAD 请求(只检查最后修改的而不是获取整个文件,你需要的只是标题)并读取 Last-Modified 标题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-05-29
    • 1970-01-01
    • 1970-01-01
    • 2014-12-03
    • 1970-01-01
    • 1970-01-01
    • 2021-11-13
    • 1970-01-01
    相关资源
    最近更新 更多