0

我正在尝试在 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 中。

4

1 回答 1

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

于 2013-02-17T12:15:17.973 回答