【问题标题】:Uploading data from LocalStorage to a Web Application将数据从 LocalStorage 上传到 Web 应用程序
【发布时间】:2018-03-28 12:52:52
【问题描述】:

我有一个需要离线选项的 Web 应用程序。

我在 HTML 页面中构建了一个离线表单,该表单位于本地计算机上并写入 localStorage。

离线应用程序使用 eventListener 来确定何时有 Internet 连接,然后通过 JSON (xmlHttpRequest) 将 localStorage 中的数据发送到 Web 应用程序。

问题是请求是跨域的(从个人计算机的驱动器到 Web 应用程序),所以它返回“No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null ' 因此不允许访问。”

我已经使用 CORS 进行了调查,只要我将 Access-Control-Allow-Origin 参数设置为“*”,它似乎就可以解决这个问题。

还有其他选项可以将本地存储数据从个人计算机上传到网络服务器吗?

期待听到建议。如有必要,请随时索取更多详细信息。

谢谢,诺亚

【问题讨论】:

  • 如果您通过 file:// URL 打开该本地页面,我想我在crbug.com 上看到了一个讨论,即出于安全原因,观察到的行为是在 Chrome 中使用的。
  • 是的,我认为跨域请求被视为一种安全风险。

标签: google-chrome-extension upload cors local-storage


【解决方案1】:

我通过将以下标头添加到我的 Web 应用程序中负责处理 JSON 数据的页面来解决了这个问题。

Response.AddHeader "Access-Control-Allow-Origin","*"

我认识到这会向所有来源开放应用程序,并且这可能会带来安全风险,但我已经实施了一个令牌以确保数据仅来自应用程序的离线版本。此外,没有其他选择,因为所有请求都来自 file://,而不是其他可以编目的域。

希望这对某人有所帮助!干杯,N

【讨论】:

  • 有谁知道是否可以将标头配置为仅允许从 file:// 访问?
猜你喜欢
  • 2013-12-15
  • 2016-10-05
  • 1970-01-01
  • 2012-05-06
  • 2015-04-17
  • 2011-10-05
  • 1970-01-01
  • 2017-06-06
  • 1970-01-01
相关资源
最近更新 更多