castomi
@castomi
Серверный администратор - tickets.settin.ru

Как сохранить файл пришедший через post?

Файл большой, от 100Мб до 1Гб, поэтому держать в оперативе его не хочу, то есть мне нужно сохранить его для временного использования на диск. Как правильно принять его, у меня express, смотрел документацию на оф.сайте и не осилил, кому не сложно поясните пожалуйста.
  • Вопрос задан
  • 1068 просмотров
Решения вопроса 1
castomi
@castomi Автор вопроса
Серверный администратор - tickets.settin.ru
В общем вот такое решение у меня получилось, может пригодится кому.
const express = require('express'), // Web сервер
app = express(), // Привязываем express к нашему "приложению"
multiparty = require('multiparty'); // Для сохранения файла

// Обработчик запросов
app.post('*', function(req, res) {
  var form = new multiparty.Form(); 
  form.parse(req, function(err, fields, files) { 
    console.log(files.txt[0].path); // Выводим в консоль адрес файла(txt это значение поля name, то есть в данном случае name="txt")
  })
});

txt это значение name в том импуте который надо сохранить.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@agaliullin
CEO & Founder of Futureinapps, LLC
var fs = require('fs');
var writeStream = fs.createWriteStream('someFile.txt', { flags : 'w' });
var readStream = new MyReadStream();

readStream.pipe(writeStream);
writeStream.on('close', function () {
    console.log('All done!');
});


Используйте нативный модуль fs
Ответ написан
NeiroNx
@NeiroNx
Программист
А он вроде не в оперативе хранится а как временный файл
https://www.w3schools.com/nodejs/nodejs_uploadfiles.asp
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы