2

ringojs を使用してサーバーにファイルをアップロードする例はありますか?

4

1 に答える 1

4

デモ アプリに簡単なアップロードの例がありますが、これはアップロードをメモリ内に格納するため、ほとんどのアプリではお勧めできません。アップロードを一時ファイルに保存するには、現在、次のようにする必要があります (これは、アップロード デモ アクションの修正版です)。

var fu = require("ringo/webapp/fileupload");

function upload(req) {
    if (fu.isFileUpload(req.contentType)) {
        var params = {};
        fu.parseFileUpload(req, params, req.charset, fu.TempFileFactory);
        return {
            status: 200,
            headers: {"Content-Type": "text/plain"},
            body: [params.file.name, " saved to ", params.file.tempfile]
        };
    }
    return Response.skin(module.resolve('skins/upload.txt'), {
        title: "File Upload"
    });
}

残念ながら、アップロードを一時ファイルに保存する際のバグが修正されたため、現在の git スナップショットまたはパッチ ファイルmodules/ringo/webapp/fileupload.jsを手動で使用する必要があります。

http://github.com/ringo/ringojs/commit/1793a815a9ca3ffde4aa5a07c656456969b504f9

また、次のリリースでこれを行う高レベルの方法 (req.uploadTempDirプロパティの設定など) も必要です。私はこれについて問題を開きます。

于 2010-10-05T08:58:36.597 に答える