在 Node.js 中上传大文件,会在 ERR_CONNECTION_RESET 中产生可怕的结果

问题描述 投票:0回答:1

我目前正在尝试在我的 Nuxt3 应用程序中实现大文件上传。对于小文件,到目前为止效果很好,但是当我尝试大文件(> 1GB)时,我的控制台中出现

ERR_CONNECTION_RESET
并且文件未上传。这是我前端的代码:

async function onSubmit(event: FormSubmitEvent<Schema>) {
  const formData = new FormData();
  formData.append('data', files.value.files[0]);

  await $fetch('/api/v1/...', {
    method: 'POST',
    body: formData,
  });
}

这是我在端点上使用的代码:

export default defineEventHandler(async (event) => {
  const fileSize = 3 * 1024 * 1024 * 1024;

  const form = formidable({ maxFileSize: fileSize, multiples: true, uploadDir: './data' });
  form.parse(event.node.req, function (err, fields, files) {});
});

有什么我遗漏的吗?或者为什么我不能上传这样的大文件?

node.js file-upload nuxt.js formidable nitro
1个回答
0
投票

Nitro 有文件大小限制:

Discord Nitro 的最大文件大小为 50MB 至 500MB,具体取决于他们选择的计划。高级订阅者还可以增强他们正在使用的服务器。拥有更多 Nitro 订阅者可以提升服务器性能,同时该服务器上所有用户的上传限制也将增加到 500MB。

这可以提供无缝的共享体验,用户可以将大文件发送给他们的朋友或其他服务器成员,而不会出现任何错误消息。 Discord Nitro 还为用户提供更高质量的屏幕共享,并支持 Discord 的持续发展。

请参阅这篇文章:https://alvarotrigo.com/blog/discord-max-file-size/

© www.soinside.com 2019 - 2024. All rights reserved.