0

Flatiron でファイルをアップロードしようとしています。フラットアイアン(ノードのみ)を使用せずに、次のようにフォーミダブルを使用してファイルのアップロードを行うことができました-

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

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

于 2013-02-17T12:15:17.973 に答える