ringojs fileupload示例

时间:2010-10-05 04:30:53

标签: file-upload serverside-javascript ringojs

有没有人有使用ringojs将文件上传到服务器的示例?

1 个答案:

答案 0 :(得分:4)

演示应用中有一个简单的upload example,但它会将内容存储在内存中,这对大多数应用来说都不是一个好主意。要将上传保存到临时文件,您当前必须执行以下操作(这是上传演示操作的修改版本):

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属性)。我会为此打开一个问题。