Feltöltött fájlok tárolása FILESTORAGE-dzsel
A FILESTORAGE(name) fájltároló: a fájlok egy id alatt tárolódnak (használd az UID()-ot), és ugyanezzel az id-vel szolgálhatók ki újra. A feltöltést fogadd @upload-dal, mentsd a file.fs(storage, id, callback)-kel, és a letöltésekre a $.filefs(storage, id)-vel válaszolj, amely a tárolt fájlt a content-type-jával küldi el.
A tároló neve a config fájlból jön, így környezetenként változhat.
fs : filesexports.install = function() {
ROUTE('POST /upload/ @upload <5mb', upload);
ROUTE('FILE /downloads/*.*', download);
};
function upload($) {
var file = $.files[0];
if (!file) {
$.invalid('No file');
return;
}
var id = UID();
file.fs(CONF.fs, id, function(err) {
if (err)
$.invalid(err);
else
$.json({ id: id, url: '/downloads/' + id + '.' + file.extension, filename: file.filename, size: file.size });
});
}
function download($) {
// /downloads/<id>.<extension>
var name = $.split[1];
var id = name.substring(0, name.lastIndexOf('.'));
$.filefs(CONF.fs, id);
}