Javascript 我的web浏览器中的可怕崩溃
我正在尝试上载大文件(~2GB)。我已经从Express中删除了bodyParser,以阻止服务器在大文件上崩溃。崩溃错误也是间歇性的,所以我甚至无法确定错误是何时产生的,以及原因 代码如下:Javascript 我的web浏览器中的可怕崩溃,javascript,node.js,upload,express,formidable,Javascript,Node.js,Upload,Express,Formidable,我正在尝试上载大文件(~2GB)。我已经从Express中删除了bodyParser,以阻止服务器在大文件上崩溃。崩溃错误也是间歇性的,所以我甚至无法确定错误是何时产生的,以及原因 代码如下: channel = req.params.channel models.channel.findOne name: channel, (err, show) -> if err then console.log err if show? form = formidab
channel = req.params.channel
models.channel.findOne name: channel, (err, show) ->
if err then console.log err
if show?
form = formidable.IncomingForm()
files = []
fields = []
form.uploadDir = __dirname + '/../public/videos/resources/'
form.on 'field', (field, value) ->
#console.log field + ' ' + value
fields.push [field,value]
form.on 'file', (field, file) ->
#console.log file
files.push [field, file]
form.on 'end', ->
for file in files
filename = file[1].name.replace /(.*)\//, ''
ext = file[1].name.replace /(.*)\./, ''
filename = uuid("#{filename}" + Date.now()) + ".#{ext}"
fs.renameSync file[1].path, form.uploadDir + filename
v = new models.video
v.channel_id = channel._id
v.title = 'Episode'
v.description = ''
v.url = filename
v.save (err,results) ->
if err then console.log err
res.send 200
form.parse req
else
res.send 403
有时上传会起作用,有时会出现以下情况:
Error: parser error, 0 of 65536 bytes parsed
at IncomingForm.write (/Users/brendan/github/node_modules/formidable/lib/incoming_form.js:145:17)
at IncomingMessage.<anonymous> (/Users/brendan/github/node_modules/formidable/lib/incoming_form.js:95:12)
at IncomingMessage.emit (events.js:67:17)
at HTTPParser.parserOnBody [as onBody] (http.js:105:21)
at Socket.ondata (http.js:1506:22)
at TCP.onread (net.js:374:27)
错误:分析器错误,已分析65536字节中的0个
在IncomingForm.write(/Users/brendan/github/node_modules/fordable/lib/incoming_form.js:145:17)
在收到消息时。(/Users/brendan/github/node_modules/fordable/lib/incoming_form.js:95:12)
在IncomingMessage.emit(events.js:67:17)
在HTTPParser.parserOnBody[作为onBody](http.js:105:21)
在Socket.ondata(http.js:1506:22)
在TCP.onread(net.js:374:27)
有没有其他人遇到过这个问题,或者知道是什么导致了这个问题?我遇到了一个类似的错误,这个问题是由中间件中对db的异步调用引起的。异步调用是在设置请求数据事件的任何处理程序之前发送的。这导致数据丢失 可能的相关链接: 编辑 中间件
getCategories = (req, res, next) ->
data.getCategories (err, results) ->
res.locals.categories = results
next()
质疑
你对中间件中的数据库做了什么?完全误导性的标题:强大不在浏览器中运行。
data.getCategories = (callback) ->
pg.connect connString, (err, client) ->
client.query "SELECT name, slug FROM categories", (err, result) ->
callback err, result.rows