Ich arbeite an der API zum Speichern einer vom Benutzer hochgeladenen Datei.NodeJS - Bild Binärdatei lesen
function uploadPhoto(req, res) {
var imagedata = new Buffer('');
req.body.on('data', function (chunk) {
imagedata = Buffer.concat([imagedata, chunk]);
});
req.body.on('end', function (chunk) {
fs.writeFile('success.jpeg', imagedata, 'binary', function (err) {
if (err) throw err
console.log('File saved.')
})
});
}
Es gab einen Fehler, wenn ich req.body.on ('Daten') verwendete. Die Daten aus Postbote
Wenn ich den Wert req.body mit console.log ausdrucken ("Nachricht:" + req.body), war es String und hat einen Wert:
ich habe versucht, mithilfe von Buffer wie diese
var writeFile = function (type, cb) {
var data = new Buffer(req.body, type);
fs.writeFile(type + '.jpeg', data, type, function (err) {
cb(null, data.length);
});
}
async.parallel([
writeFile.bind(null, 'binary'),
writeFile.bind(null, 'utf8'),
writeFile.bind(null, 'ascii'),
writeFile.bind(null, 'ucs2'),
writeFile.bind(null, 'base64')
], function (err, results) {
response.status(200).send({});
})
dieser Datei zu schreiben, wird einige JPEG-Dateien mit unterschiedlicher Größe erstellen, sondern kann sie als Bild nicht lesen.
Wie kann ich dieses Bild vom Benutzer speichern? Vielen Dank.