javascript - NodeJs - 文件上传超出范围异常
问题描述
我正在使用 NodeJs 创建一个 WebApp,目的是在服务器上上传文件。
我正在使用Express-FileUpload,使用 js-FormData() 从客户端向 API (NodeJS) 发送文件,然后处理文件。一切都很好,除非我选择了超过特定大小的文件,例如 2.15 GB 文件。我收到此错误消息:
internal/validators.js:90 throw new ERR_OUT_OF_RANGE(name,
>= ${min} && <= ${max}
, value); ^RangeError [ERR_OUT_OF_RANGE]:“长度”的值超出范围。它必须 >= 0 && <= 2147483647。在 getBuffer (D:\FileSharing_System\node_modules\express-fileupload\lib\memHandler.js:17:34) 的 Function.concat (buffer.js:559:5) 处收到 2305039912在 FileStream 完成 (D:\FileSharing_System\node_modules\express-fileupload\lib\memHandler.js:37:14)。(D:\FileSharing_System\node_modules\express-fileupload\lib\processMultipart.js:104:17) 在 fileStream.emit (events.js:322:22) 在 endReadableNT (_stream_readable.js:1187:12) 在 processTicksAndRejections (internal /process/task_queues.js:84:21) { 代码:'ERR_OUT_OF_RANGE' }
我在 64 位 Windows 操作系统上使用 64 位 NodeJ。有什么办法可以处理这种异常,有什么想法吗?
解决方案
我意识到当你不在 Express-File-Upload 上使用临时文件时,二进制缓冲区是在内存上创建的。我尝试使用快速文件上传配置属性:
app.use(fileUpload({
useTempFiles: true,
tempFileDir: "/tmp/"
}));
现在,错误没有出现。
推荐阅读
- python - 如何提高特定数据集的验证准确性?
- formatting - VS2019 复制粘贴更改标签到空格
- android - 不显示 androidx.appcompat.widget.Toolbar
- javascript - Javascript element.style.display = 'none' 不工作
- python - 从 Django 打印时,使用 AJAX 发送到 Django 的 URL 不同
- spring - 角色在 Spring 安全性中无法正常工作
- android - 解析错误:解析包时出现问题
- javascript - 给定对象键的匹配条件,将键添加到数组集中的对象集
- api - 如何使用 OAuth2 将 Meetup.com 日历集成到 Wordpress 网站中?
- svg - SVG 应用带阴影的过滤器
如果它是垂直或水平的,则隐藏该线