Announcement

Collapse
No announcement yet.

Image über Socket io senden und speichern

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Image über Socket io senden und speichern

    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 ?







  • #2
    https://stackoverflow.com/questions/...-via-socket-io

    Du sendest das Bild naitv, willst dann es aber als Base64 behandeln?
    Christian

    Comment


    • #3
      Originally posted by Christian Marquardt View Post
      https://stackoverflow.com/questions/...-via-socket-io

      Du sendest das Bild naitv, willst dann es aber als Base64 behandeln?
      Hallo,

      ich möchte das das bild unbehandelt gesendet wird, oder sofern möglich Ressourcen sparend.
      Leider kenne ich mich mit Bildern und deren Format nicht aus und musste dazu Google bemühen. Schlau geworden bin ich trotzdem nicht.



      data:image/jpg;base64 mit src einbinden. Es soll ein echtes bild gespeichert werden und nicht als data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAIBAQIBAQICAgICAgICAwUDAwMDAwYEBAM

      Wenn du mir helfen könntest wäre ich recht dankbar, würde auch ne Kleinigkeit per PPL zahlen wenn du magst.

      wäre das das richtige ?

      reader.readAsBinaryString
      Zuletzt editiert von TheGateway; 31.01.2022, 18:58.

      Comment


      • #4
        Weiß nicht was PPL ist und habe es auch nicht
        Sehe das immer noch so, das dort Base64 gespeichert wird
        Mit Websockets habe ich noch nix gemacht
        Christian

        Comment


        • #5
          Naja, ist ja nicht mehr wichtig
          Christian

          Comment

          Working...
          X