问题描述
我正在编写一个Web应用程序,允许用户上传非常大的文件(最大为GB)。我的技术栈包括:nodejs,express,multer和纯html。小文件工作正常。但是,当我上传大文件(127 MB)时,等待了一段时间(大约 2分钟)后出现了错误 ERR_CONNECTION_RESET 。
我尝试同时使用req.setTimeout和res.setTimeout在服务器上延长响应时间,但没有帮助。可能是因为前端等待很长时间才能获得响应。
以下是我得到的错误:
谢谢大家。
解决方法
为相应的上传路由增加res
超时肯定可以解决。尝试这样做:
function extendTimeout (req,res,next) {
// adjust the value for the timeout,here it's set to 3 minutes
res.setTimeout(180000,() => { // you can handle the timeout error here })
next();
})
app.post('/your-upload-route',extendTimeout,upload.single('your-file'),(req,next) => {
// handle file upload
})