【发布时间】:2015-10-26 17:28:00
【问题描述】:
我使用 busboy 模块通过下面的 coffeeScript 代码解析多部分请求。 有时,问题是在“数据”处理程序上多次调用请求,包括一个文件。 这意味着我需要对每个尺寸求和以计算出整个尺寸。 除了 on 'file' 处理程序中的文件对象似乎不包括大小信息。
如何在不计算每个部分的情况下获得整体尺寸?
提前致谢-
busboy.on 'file', (fieldname, file, filename, encoding, mimetype) ->
filename = "#{Meteor.uuid()}.jpg"
dir = "#{HomeDir()}/data/profile"
saveTo = path.join dir, filename
file.pipe fs.createWriteStream saveTo
files.push
filename: filename
path: saveTo
fileSize: data.length
file.on 'data', (data) ->
# this data handler called several times
files.push
filename: filename
path: saveTo
fileSize: data.length
file.on 'end', ->
console.log 'file finished'
【问题讨论】:
-
你不能只做
files.reduceRight( (v,o) => v+o.fileSize, 0)吗? -
这可能是一个很好的解决方案,但我认为我错过了一些巨大的流程或重要的 API。谢谢。
标签: node.js coffeescript busboy