Пример загрузки файла ringojs

У кого-нибудь есть пример загрузки файла на сервер с помощью ringojs?

1 ответ

Решение

В демонстрационном приложении есть простой пример загрузки, но он хранит загрузки в памяти, что не является хорошей идеей для большинства приложений. Чтобы сохранить закачки во временный файл, вам нужно сделать что-то вроде этого (это модифицированная версия демонстрационного действия закачки):

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 имущество). Я открою вопрос для этого.

Другие вопросы по тегам