【问题标题】:Google chrome crashing while uploading larger files using (event.target as FileReader).result . (File size greater than 80mb)使用 (event.target as FileReader).result 上传较大的文件时,Google chrome 崩溃。 (文件大小大于 80mb)
【发布时间】:2019-10-18 16:02:02
【问题描述】:

我正在尝试通过 formData 对象将我的文件从浏览器传递到服务器,如下所示。 但是当我上传更大的文件(> 80mb)时,代码会导致浏览器(谷歌浏览器)崩溃。

const formData: IUploadFileBlobModel = {
                    fileName: file.fileName,
                    description: file.description,
                    mimeType: file.file.type,
                    fileBlob: (event.target as FileReader).result
                };

/*我们可以使用任何其他方法代替 (event.target as FileReader).result */

【问题讨论】:

  • 中间有没有web服务器(apache, Nginx)?
  • 是的,我们使用 IIS 服务器。
  • 这里的 FileReader 有什么意义? file.file 是一个文件,这意味着它是一个 Blob,而 can be sent through a Network request 按原样或包装在 FormData 中。无需阅读它。
  • @Kaiido 将其作为文件发送时,浏览器会自动将文件名添加到请求中,而 blob 不会这样做。然而,这可能不是 OP 的问题
  • @Kaiido,我认为语句 (event.target as FileReader).result 实际上是失败的。我认为这一点会使浏览器崩溃。

标签: javascript google-chrome blob filereader onload


【解决方案1】:

我建议首先尝试检查 IIS 的大文件配置:

 <system.webServer>
  <security>
    <requestFiltering>
      <requestLimits maxAllowedContentLength="2147483648" />
    </requestFiltering>
  </security>
</system.webServer>

更多信息:IIS

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-14
    • 2014-06-11
    • 1970-01-01
    相关资源
    最近更新 更多