Hallo,
ich möchte über socket io ein bild versenden und serverseitig dann speichern. Ich habe auch schon code dazu der auch funktioniert, leider kann ich das Bild aber nicht als Bild öffnen.
So versende ich das bild: (CLIENT)
var data = e.originalEvent.target.files[0];
var reader = new FileReader();
var fileName = e.originalEvent.target.files[0].name;
reader.onload = function(evt){
if (data.type.indexOf("image") == 0 && data.size < 400000) {
socket.emit('uploadOwnPic', { picBin: evt.target.result, fileName: fileName });
}
else
{
alert("Bild ist zu groß oder hat falsches Format!");
}
};
reader.readAsDataURL(data);
und so wollte ich es speichern., macht er auch aber wie gesagt stimmt wohl das format nicht?! (SERVER SIDE)
socket.on('uploadOwnPic', (data) => {
var file = data.picBin;
console.log("Bild hat größe von " + file.length);
var data = file.replace(/^data:image\/\w+;base64,/, "");
var buf = new Buffer(file, 'base64');
fs.writeFileSync('/var/www/vhosts/httpdocs/images/userpics/', buf, function (err,data) {
if (err) {
return console.log(err);
}
});
kann mir jemand bei dem Problem helfen ?
ich möchte über socket io ein bild versenden und serverseitig dann speichern. Ich habe auch schon code dazu der auch funktioniert, leider kann ich das Bild aber nicht als Bild öffnen.
So versende ich das bild: (CLIENT)
var data = e.originalEvent.target.files[0];
var reader = new FileReader();
var fileName = e.originalEvent.target.files[0].name;
reader.onload = function(evt){
if (data.type.indexOf("image") == 0 && data.size < 400000) {
socket.emit('uploadOwnPic', { picBin: evt.target.result, fileName: fileName });
}
else
{
alert("Bild ist zu groß oder hat falsches Format!");
}
};
reader.readAsDataURL(data);
und so wollte ich es speichern., macht er auch aber wie gesagt stimmt wohl das format nicht?! (SERVER SIDE)
socket.on('uploadOwnPic', (data) => {
var file = data.picBin;
console.log("Bild hat größe von " + file.length);
var data = file.replace(/^data:image\/\w+;base64,/, "");
var buf = new Buffer(file, 'base64');
fs.writeFileSync('/var/www/vhosts/httpdocs/images/userpics/', buf, function (err,data) {
if (err) {
return console.log(err);
}
});
kann mir jemand bei dem Problem helfen ?
Comment