有没有人有使用ringojs将文件上传到服务器的示例?
答案 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
属性)。我会为此打开一个问题。