使用Flatiron上传文件

时间:2012-11-20 06:40:10

标签: node.js flatiron.js formidable

我正在尝试在Flatiron上进行文件上传。在不使用Flatiron(仅限Node)的情况下,我能够使用Formidable进行文件上传,如此 -

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

然而,相同的代码在Flatiron中不起作用。在第一行之后它挂在那里 -

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。

1 个答案:

答案 0 :(得分:0)

带有flatiron的文件上传似乎有点神秘。我也找不到太多信息。所以这是我的解决方案(从互联网的各个部分粘在一起)。

你必须在union / flatiron.plugins.http。

中打开缓冲区
app.use(flatiron.plugins.http, {buffer: false});

你必须在你的邮政路线中打开流。

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

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