Запись буфера приводит к ошибке пути при загрузке потока с Skipper и Sails
Я преобразовал загрузку и сохранил это как буфер. Когда я пишу этот буфер, я получаю ошибку пути.
TypeError: путь должен быть строкой или буфером
const adapter = require('skipper-better-s3')(options);
var receiver = adapter.receive({dirname: "/original"});
var upstream = req.file('file');
upstream.upload(receiver, function(err, filesUploaded){
adapter.read(filesUploaded[0].extra.fd, (err, image) => {
Jimp.read(image,function(err,image){
image.resize(600, Jimp.AUTO).quality(60).getBuffer(image.getMIME(),function(err,buffer){
const stream = fs.createReadStream(buffer);
receiver = adapter.receive({dirname: "/thumbs"});
receiver.write(file, () => {
console.log(file.extra)
});
});
});
});
});
1 ответ
Я думаю, что ваш ответ здесь: преобразование буфера в ReadableStream в nodejs
Кроме того, проверьте свой код, но я думаю, у вас есть ошибка здесь:
const stream = fs.createReadStream(buffer);
receiver = adapter.receive({dirname: "/thumbs"});
receiver.write(file, () => {
console.log(file.extra)
});
receive.write(file, () => {должен быть receive.write(stream, () => {
Но сначала убедитесь, что поток действительно создан, как описано в ссылке выше.