2012-11-20 31 views
0

我想在Flatiron上做文件上传。使用Flatiron上传文件

form = formidable.IncomingForm() 
form.parse request, (error, fields, files) -> 
    # upload done 

但是相同的代码不熨斗工作 - 不使用烙铁(仅节点),我用厉害,像这样能够做一个文件上传。它在第一行后挂起 -

form = formidable.IncomingForm() 
app.log.info 'Form object made' # This is getting printed 
form.parse @.req, (error, fields, files) -> 
    app.log.info 'Upload done' # This is not getting printed 

我在这里错过了什么?也没有错误。

注 - 代码示例位于CoffeeScript中。

+0

是'@ .req'一个错字或可能成为你烦恼的根源? –

+0

'@ .req'是'this.req',是熨斗中的请求对象。我不认为这是一个麻烦,但我不确定。 – Siddharth

+0

如果还有其他方式上传Flatiron中的文件,我也想知道这些。 – Siddharth

回答

0

使用熨斗上传文件看起来有点神秘。我也没有找到很多信息。所以这里是我的解决方案(与互联网上的作品一起粘在一起)。

你必须打开union/flatiron.plugins.http中的缓冲区。

app.use(flatiron.plugins.http, {buffer: false}); 

而且您必须在您的邮寄路线中启用流。

app.router.post('/form', { stream: true }, function(){}); 

这里是工作的代码要点:https://gist.github.com/ichbinadrian/4971260