问题描述
所以我正在制作一个文件上传网站,当文件上传时,它会呈现一个上传页面,说它正在上传文件,但是当尝试呈现成功页面时,它不会这样做,因为页面已经呈现.我如何让它呈现成功页面?
Deps.: Express、Express-FileUpload、EJS(用于视图引擎)
代码:
const express = require('express')
const upload = require('express-fileupload')
const crypto = require('crypto')
uploaddisabledM = {
'message': 'Uploading has been disabled for new users.',// This was for testing at the start
'code': 'UPL_disABLED'
}
noFilesProvidedM = {
'message': 'No files were provided.','code': 'NO_FILE_PROV'
}
const app = express()
const http = require('http').Server(app).listen(80)
app.use(express.static('public'))
app.use(upload())
app.set('view engine','ejs')
app.get('/',(res,req) => {
return req.render('index')
})
app.get('/upload',req) => {
req.redirect('/')
})
app.post('/upload',req) => {
let file
let ID
let uploadpath
if (!res.files || Object.keys(res.files).length === 0) {
return req.status(400).render('error',{
error: noFilesProvidedM.message,code: noFilesProvidedM.code
})
}
file = res.files.sampleFile
ID = crypto.randomBytes(5).toString('hex')
uploadpath = `${__dirname}/uploads/${ID}-${file.name}`
endingFileName = `${ID}-${file.name}`
req.render('loading')
file.mv(uploadpath,(err) => {
if(err){
res.status(500).render('error',{
error: err.message,code: 500
})
}
})
return req.render('success',{ filename: endingFileName })
})
错误:
Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)