Bild durch Übergabe der URL durch Javascript lesen / verarbeiten - Ähnlich wie file_get_contents in PHP?

AKTUALISIEREN:

Zu Testzwecken habe ich verwendet

<input type="text" onClick="doProcess(http://www.abc.com/chart.png)" />

Das hat nicht funktioniert (gebraucht)alert um zu testen, ob die URL übergeben wurde. Das Warnungsfeld wurde zwar mit der URL angezeigt, die Dekodierung ist jedoch fehlgeschlagen. In gewissem Sinne habe ich einen Teil meiner Frage selbst beantwortet. Irgendwelche Ideen, wie man eine Bilddatei mit Javascript liest? Tt

Ich habe gerade festgestellt, dass dies HTML 5-Code ist. Auch ich dachte, da ich eine URL anstelle einer Liste von Dateien übergebe, muss ich die entfernenfor() Schleife von derdoProcess() funktion was wäre

function doProcess(f)
{
    var o=[];

           var reader = new FileReader();
        reader.onload = (function(theFile) {
        return function(e) {
            gCtx.clearRect(0, 0, gCanvas.width, gCanvas.height);

            qrcode.decode(e.target.result);
        };
        })(f);
        reader.readAsDataURL(f); 

}

Aber das geht auch nicht :(

ORIGINAL POST

Ich habe eine Eingabedatei, zu der eine QR-Bilddatei mitgeliefert wird.

<input type="file" onchange="doProcess(this.files)">

doProcess-Funktion

function doProcess(f)
{
    var o=[];

    for(var i =0;i<f.length;i++)
    {
        var reader = new FileReader();
        reader.onload = (function(theFile) {
        return function(e) {
            gCtx.clearRect(0, 0, gCanvas.width, gCanvas.height);

            qrcode.decode(e.target.result);
        };
        })(f[i]);
        reader.readAsDataURL(f[i]); 
    }
}

Diese Funktion funktioniert einwandfrei. Keine Probleme da. Mit dieser Funktion können Sie ein QR-Bild dekodieren. Jetzt habe ich aus purem Interesse und Neugier etwas anderes vor -Entfernen Sie die Notwendigkeit, manuell zur Bilddatei zu navigieren. Dies bringt mich zu ein paar Fragen:

Ist es möglich fürdoProcess(f) dieselben Aktionen ausführen, wenn eine Bild-URL anstelle einer Datei angegeben wird? Momentanf Parameter ist eine Datei. Was wird passieren wennf Parameter ist eine URL (Beispiel: doProcess (http://www.abc.com/abc.jpg))? Mir ist klar, dass es noch andere Unterstützungsfunktionen gibtdoProcess() wird auch aufgerufen, um den Dekodierungsprozess abzuschließen, aber ich gehe davon aus, dass diese entsprechend der Art der Daten, die durchgeleitet werden, funktionieren werdendoProcess.

Obf Parameter ist eine Bilddatei (auf dem lokalen Computer gesucht und ausgewählt) anstelle einer Bild-URL. Welcher Datentyp wird verwendet?f Sein? Ich vermute, es wird ein Array oder in einer rohen binären Form sein.

Meine Absicht ist es, den Prozess zu studieren und zu wissen, was genau hinter den Kulissen passiert. Mit der Funktion 'Durchsuchen' wird das QR-Bild erfolgreich dekodiert.

Was passiert, wenn ich anstelle einer Datei den Speicherort des als Argument gespeicherten Bildes übergebe?

Danke im Voraus.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage