У меня есть файл от клиента, который я должен прочитать на стороне сервера и отправить обратно клиенту для загрузки. Как я могу выполнить эту задачу с помощью nodejs. Я пробовал с fs
, но я получаю некоторую ошибку.Как читать содержимое файла с помощью nodejs?
console.log(data)
приходит в пустой объект
server.js
var multiparty = require('multiparty');
var data = new multiparty.Form();
export function create(req, res) {
data.parse(req, function(err, fields, files) {
console.log(files);
var fileContent = fs.readFileSync(files.file[0].path,'utf8');
res.json(fileContent );
});
}
router.js
var express = require('express');
var controller = require('./fileUpload.controller');
var router = express.Router();
router.post('/fileUpload',controller.create);
module.exports = router;
FILEDATA
{ file:
[ { fieldName: 'file',
originalFilename: 'sco_poc.bpmn',
path: 'C:\\Users\\9u\\AppData\\Local\\Temp\\f4DG8L7nCpNyNvVPYqGPkd44.bpmn',
headers: [Object],
size: 11078 } ] }
'некоторая ошибка'? Какую точную ошибку вы получаете? Можете ли вы показать больше соответствующего кода? Единственная ошибка, которую я вижу, может происходить в вашем коде, будет, если 'fs.readFile()' терпит неудачу. Если это так, то либо имя файла/путь неверно, файл не существует, либо у вас нет прав на чтение этого файла. Точный код ошибки, который он предоставляет, скажет вам, что это такое. Кроме того, ваш 'throw err' не делает ничего полезного, поскольку он просто асинхронно переводит в подсистему' fs.readFile() ', где невозможно обработать или уловить эту ошибку. Итак, начните, по крайней мере, запустив ошибку. – jfriend00
Я получаю 'TypeError: Не могу прочитать файл свойства 'undefined ' – hussain
Это звучит как req.файлы не так, как вы думаете. – jfriend00