Я пишу файл для загрузки/парсера, используя nodejs (для MEAN.io). Функциональность заключается в загрузке файла, анализе на json и возврате содержимого в виде страницы. Загружен ли файл upload через bodyParser(), автоматически удаляется? Если да, то какова временная шкала. Если нет, есть ли лучшее промежуточное ПО для использования, которое удаляет временный файл, загружаемый файл, автоматически?NodeJS/MEAN.io temp files
0
A
ответ
0
bodyParser()
больше не занимается захватом загружаемых файлов (многократно удалялся из него в середине 2013 года), поэтому сам по себе нет проблем с временными файлами.
Если вы используете один из многопроцессорных пакетов промежуточного программного обеспечения (busboy, formidable и др.), Вам придется позаботиться о файлах temp явно. Это, как правило, не слишком сложно:
app.post('/upload', function(req, res) {
var form = new formidable.IncomingForm();
var body = "No file uploaded";
form.on('file', function(name, file) {
try {
body = JSON.parse(fs.readFileSync(file.path));
} catch (e) {console.log(e)}
fs.unlink(file.path);
});
form.on('end', function(){
res.json(body);
});
form.parse(req);
});
Даже с этим, это хорошая идея, чтобы иметь что-то, наблюдая за чрезмерных временных файлов (например, reap или tmpwatch). Имейте в виду, что большинство промежуточного ПО помещает временные файлы в os.tmpdir()
, что может быть не таким, как /tmp
!
Да, я прочитал, что синтаксический анализ устарел для загрузки файла в последней версии выражений. В будущем я перейду к одной из многостраничных сред. Кроме того, я вызывал fs.unlink для удаления временного файла. Спасибо за ответ. – Cole