Verzeihen Sie, wenn ich diese Begriffe falsch verwende, bin ich ziemlich neu im Konzept des Streaming und ich habe nicht viele Ressourcen in Googling gefunden, die über die besten Anwendungsfälle für gesprochen haben Streaming.So streamen Bilder mit Django zum Browser
Was ich habe jetzt:
Browser eine Anforderung von einem Bild zu einem Django Endpunkt
var img = new Image();
img.src = 'http://www.example.com/api/images/51234/
img.onload = function() {
$('#my-img').attr('src', this.src);
}
Django um macht für ein Bild eine weitere Anforderung an einen Dienst schaltet macht
import requests
def get_image(request, img_id):
response = requests.get("http://api.myexample.net/album/123/img/{0}".format(img_id))
return HttpResponse(res.content, mimetype="image/jpeg")
Mein Verständnis dieses Prozesses ist, dass Django alle binären Informationen für dieses Bild in den Speicher liest, bevor es sich dreht, um die Antwort an den Browser zu liefern. Gibt es einen Weg, den ich direkt zum Browser streamen kann, anstatt darauf zu warten, dass das Bild vollständig an Python geliefert wird?
Ich habe die Dokumentation für die StreamingHTTPResponse Klasse gelesen, aber alle Beispiele zeigen einfach das Lesen einer Datei von der Festplatte des Servers und die Weitergabe an eine StreamingHTTPResponse, nicht von einem anderen Dienst.
Leider muss ich die requests.get ausführen - was ich nicht eingeschlossen habe ist, dass der Service, den ich anrufe, ein authentifizierter Endpunkt ist, der ein Token mit der Anfrage authentifizieren muss, bevor es das Bild zurückgibt. – diplosaurus
Sie können überprüfen, ob der erzeugte Bildlink statisch ist oder nicht. –