Jump to content
Forumu Destekleyenlere Katılın ×
Paticik Forumları
2000 lerden beri faal olan, çok şukela bir paylaşım platformuyuz. Hoşgeldiniz.

Node.js Image upload error


Öne çıkan mesajlar

Mesaj tarihi: (düzenlendi)

Ya bir türlü çözemedim, var mıdır buradan yarım edebilecek;

firebase storage a node.js kullanarak image upload function yapıyorum, BusBoy yükledim, bir hata veriyor çözemedim, kod:

Alıntı

exports.uploadImage = (req, res) => {

const BusBoy = require('busboy');

const path = require('path');

const os = require('os');

const fs = require('fs');

 

const busboy = new BusBoy({ headers: req.headers });

 

let imageToBeUploaded = {};

let imageFileName;

 

busboy.on('file', (fieldname, file, filename, encoding, mimetype) => {

console.log(fieldname, file, filename, encoding, mimetype);

if (mimetype !== 'image/jpeg' && mimetype !== 'image/png') {

return res.status(400).json({ error: 'Wrong file type submitted' });

}

// my.image.png => ['my', 'image', 'png']

const imageExtension = filename.split('.')[filename.split('.').length - 1];

// 32756238461724837.png

imageFileName = `${Math.round(

Math.random() * 1000000000000

).toString()}.${imageExtension}`;

const filepath = path.join(os.tmpdir(), imageFileName);

imageToBeUploaded = { filepath, mimetype };

file.pipe(fs.createWriteStream(filepath));

});

busboy.on('finish', () => {

admin

.storage()

.bucket()

.upload(imageToBeUploaded.filepath, {

resumable: false,

metadata: {

metadata: {

contentType: imageToBeUploaded.mimetype

}

}

})

.then(() => {

const imageUrl = `https://firebasestorage.googleapis.com/v0/b/${

config.storageBucket

}/o/${imageFileName}?alt=media`;

return db.doc(`/users/${req.user.handle}`).update({ imageUrl });

})

.then(() => {

return res.json({ message: 'image uploaded successfully' });

})

.catch((err) => {

console.error(err);

return res.status(500).json({ error: 'something went wrong' });

});

});

busboy.end(req.rawBody);

};

 

firebase serve yapınca şu hatayı veriyor:

 

Alıntı

TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received type undefined
>      at validateString (internal/validators.js:125:11)

 

 

 

 

lovecraft0Z tarafından düzenlendi
Mesaj tarihi:

local emulator kullaniyosan zaten console da cikiyo.

firebase e direk push ediyosan, o zaman orda bi tab var logs diye. ama bu sekilde cok vakit harcarsin, local emulatorde console.log direk cikiyo ztn ekranda.

 

Mesaj tarihi:

ya şimdi postları postman den yapıyorum, daha önyüz yok. Postman'inde kendi consolu var ama console.log print etmemiş. Oradan chrome devtools'u da açabiliyorum fakat ordaki consoleda da yok.

emulator started at Localhost:5001 diyor, oradan bakıyorum chrome dan orada da yok

Mesaj tarihi:

emulator started at Localhost:5001 diyorsa tamamdir zaten, her turlu console.log un gorunmesi lazim o terminalde.

eger gorunmuyosa o zaman senin request oraya gelmiyodur bile. app in basina bir tane koy, print ettiginden emin ol, daha sonra step by step gidersin.

aslinda postman le falan ugrasacagina, direkt test yazip mocha fln ile onunla debug etsene, boylece debugger da attach edebilirsin, bu sekilde post-log-debug kurde$an dokturur uzun vadede asdf

Mesaj tarihi:

Yalnız get metodum var bir tane, tüm önceki girişleri ekrana basıyor, düzgün çalışıyor problem yok, ona console.log lar ekledim onları da hiç bir yerde göremiyorum, kafayı çizicem. 5001 status alive diyor inspect ten consola bakıyorum hiçbişey basmıyor, metod düzgün çalışıyor oysa

Mesaj tarihi:

musait olsam google hangouts tan cozmeye calisirdik ama degilim malesef. sen bir video session fln cekmeye calisip bi yere yukle bence, daha anlasilir olur, ordaki konsol olayinda bi anlasmaslik var.

benim local firebase de tum console log lar basiyo terminale anlamadim o kismi.

Mesaj tarihi:
5 dakika önce, reyou dedi ki:

musait olsam google hangouts tan cozmeye calisirdik ama degilim malesef. sen bir video session fln cekmeye calisip bi yere yukle bence, daha anlasilir olur, ordaki konsol olayinda bi anlasmaslik var.

benim local firebase de tum console log lar basiyo terminale anlamadim o kismi.

Tamam hocam terminalde basıyomuş doğru, şimdi function ın başında da basıyor ama busboy.on dan itibaren basmıyor, error catch yapıyor, sorun busboy da - ben biraz uğraşayım

×
×
  • Yeni Oluştur...