Recevoir des téléversements de fichiers
Marquez la route avec @upload pour qu'elle n'accepte que multipart/form-data, et fixez une limite de taille adaptée aux fichiers attendus (ici <5mb). Les fichiers téléversés sont dans $.files ; les autres champs du formulaire sont dans $.body. Chaque fichier a name, filename, size et type, ainsi que des méthodes comme read(), copy() et move().
exports.install = function() {
ROUTE('POST /upload/ @upload <5mb', upload);
};
function upload($) {
var file = $.files[0];
if (!file) {
$.invalid('No file');
return;
}
file.read(function(err, buffer) {
$.json({
filename: file.filename,
size: file.size,
type: file.type,
text: buffer.toString('utf8'),
title: $.body.title
});
});
}