Wie man png-Binär-Daten in ein img-tag und zeigen Sie Sie als ein Bild?

Ich bin mit diesem

        $.ajax({
            type: "GET",
            url: 'template/bump1/purse.png',
            datatype:"image/png",
            success: function (data) {


                var reader = new FileReader();

                reader.onload = function (e) {
                  var img = document.getElementById("CaptchaImg");
                  img.src = e.target.result;
                };
                reader.readAsDataURL(data);


                //$('#CaptchaImg').attr('src', data);
            }
         });

herunterladen Sie ein Bild, und es kommt im binary suchen mag dieses

Wie man png-Binär-Daten in ein img-tag und zeigen Sie Sie als ein Bild?

node.js ist es wieder wie

                        WriteHeaderMode('image/png', res, 200);
                        res.end(data, 'binary');

Aber jetzt, wie übertrage ich das in ein image-tag und zeigen Sie es als ein Bild. Hinweis: ich nicht haben wollen, Rückgabe der Daten als base64-Codierung, hat es sich als binäre. Im gut mit der Umwandlung der Binär-in base64-auf client-Seite aber.

Wenn ich an den readAsDataURL sagt es TypeError Ausnahme.

Dank

BEARBEITEN

                var img = document.getElementById("CaptchaImg");

                  var reader = new FileReader();

                  reader.onload = function(e) {
                      //img.src = e.target.result;
                      $("body").html(e.target.result);
                    };

                  reader.readAsDataURL(new Blob([data]));

dies scheint eine Konvertierung in das base64-Codierung, die beginnt, als data:application/octet-stream;base64, aber kein Bild anzeigt...

  • Ich habe nicht recherchiert, so viel, aber ich vermute, da application/octet-stream ist im Grunde sagen "download me", könnte man versuchen, eine gerade .replace("application/octet-stream", "image/png");. Lohnt sich ein Schuss lol
  • Ich habe es versucht, aber es hat nicht funktioniert.
  • und zumindest ich weiß, ich war nicht verrückt für die Annahme, es. Aber anstatt zu versuchen, es zu reparieren als das problem, vielleicht versuchen, neu zu denken und die Logik? Nur durch die Einstellung der src - Attribut, um die Bild-URL werden Sie der download der das Bild so, dass anstelle von AJAX nur das tun,
  • Ich will nicht zu tun, weil ich kann es nicht hier, aber ich bin auch der Versand einer FormData() als eine Anlage, die hat ein Bild. d.h. ich versuche zum hochladen und laden Sie ein Bild in der gleichen ajax-call.
  • Ich habe versucht, Ihre Lösung, aber ich verwendet, eckig $http, und legen Sie responseType auf "blob". Dann hat es geklappt mit deiner Lösung, aber mit reader.readAsDataURL(data.data);. Die tatsächlichen Daten einer Immobilie auf das response-Objekt. Ich bin mir nicht sicher, ob dies ist nur ein Unterschied, wie jQuery und angular arbeitet.
InformationsquelleAutor sneaky | 2015-08-19
Schreibe einen Kommentar