【问题标题】:File-Upload Progress only tracked if not loading site via HTTPS仅在未通过 HTTPS 加载站点时跟踪文件上传进度
【发布时间】:2019-01-09 00:39:32
【问题描述】:

我正在我的网络应用程序中实现基本的文件上传,并尝试跟踪上传的进度,但它只有在我通过加载应用程序时才有效HTTP – 当我使用 HTTPS 打开它时,它不起作用。

const formData = new FormData(...);
const xhr = new XMLHttpRequest();

xhr.upload.onprogress = e => {
    const progress = Math.ceil(((e.loaded) / e.total) * 100);
    ...
}

xhr.open('POST', 'https://domain/upload.', true);
xhr.send(formData);

如果我通过 HTTPS 加载应用程序,它应该返回进度,但甚至没有触发该事件。

(旁注 - 可能很重要?:我正在使用 Multer 来捕获 NodeJS 中的文件)

【问题讨论】:

  • 当您检查 XHR 时,您会从浏览器的开发工具中得到什么?你是什​​么意思“事件没有被解雇”?你是说快递不记录请求吗?

标签: javascript angular file-upload https


【解决方案1】:

您应该检查有关XMLHttpRequest.upload 的概念。此外,您的问题可能与此重复:xhr uploading progress while using expressjs multer

【讨论】:

  • OP 说代码在http 环境中有效,但在https 中无效。你的回答并没有以任何方式解决这个问题。
  • 感谢您花时间回答,我刚刚发现,Angular-PWA 是问题所在,因为它以某种方式缓存了 Progress-Responses,这也是为什么它只发生在 HTTPS 中的原因:)祝你有美好的一天!
猜你喜欢
  • 1970-01-01
  • 2010-10-02
  • 2012-04-15
  • 2023-03-31
  • 1970-01-01
  • 2017-10-20
  • 1970-01-01
  • 1970-01-01
  • 2015-08-14
相关资源
最近更新 更多