angular - Angular 5:大文件上传问题。净::ERR_CONNECTION_RESET
问题描述
我使用侦听进度事件方法在 Angular 5 中处理文件上传。还显示进度百分比条。
https://angular.io/guide/http#listening-to-progress-events。
上传小文件(低于 20 mb)时效果很好。如果我尝试上传大文件(100 MB 或 1GB),进度百分比条运行到 40% 或有时 70%,然后突然停止运行。它显示错误 net:ERR_CONNECTION_RESET。此时,如果我让页面空闲,则上传进度完成。但是在 UI 中,它像这样卡在 40% 或 70% 上。我找不到确切的问题是什么原因导致这个问题。如果你们遇到这个问题,请提出解决方案。
解决方案
无论如何,大文件上传的最佳做法是按 blob-parts 分割文件。
let blob = file.slice(start, next_slice);
其中start
- 将是一个起始索引和next_slice
您需要的拼接限制,应该包含在循环中以继续进行。
在服务器端,首先,您需要chunks
在完成后将它们存储并合并到一个文件中。
推荐阅读
- mysql - Mysql 查询能够通过最佳匹配颜色对产品进行排名
- regex - Splunk - 根据分隔符将一个字段拆分为多个字段
- google-calendar-api - 谷歌日历问题-
- azure-active-directory - 如何为 Azure AD B2B 用户添加自定义属性
- javascript - 从对象的对象中删除属性
- macos - Ammonite: Script ... 不接受参数(在 OS X 下)
- javascript - 在猫鼬中添加评论总数
- javascript - ReactJS 中的“context”和“localStorage”有什么区别?
- python - 如何使用包含整数和浮点数的元组列表定义嵌套的 Pydantic 模型?
- javascript - 根据答案不断重复使用 Inquirer.js 的提示问题?