2016-08-08 31 views
0

einen Download-Link Gegeben:Rails erhalten Bild von Download-Link ohne Bild speichern

http://files.parsetfss.com/54213c13-6c9c-4c87-ad62-b03471f4a879/tfss-17095044-922e-4b24-a361-2763f1981a13-profile.jpg

Ich mag das Bild aus dem Link anzuzeigen, ohne es in eine Datei speichern zu müssen. Mein Anwendungsfall wären Anzeigebilder von den Links und es könnte Hunderte von Links geben, so dass es nicht machbar wäre, jedes Bild auf der Festplatte zu speichern.

+0

Der normale Weg, "ein Bild anzuzeigen" ist der '' Tag. Unter der Annahme, dass die von Ihnen verwendete URL über einen Webbrowser zugänglich ist, würde 'alternate image text' das Bild im Browser Ihres Benutzers darstellen. – GSP

+0

Sie möchten, dass sich Ihre Ruby-Anwendung als Proxy für Binärdaten verhält. Während es sicherlich möglich ist, wäre es wahrscheinlich besser, wenn Sie einen Proxy-Server einrichten (siehe: nginx). – coreyward

+0

@GSP Ich habe versucht, das Img-Tag, aber es gibt einen Fehler "403 Verboten". Wenn ich den Link einfach in einen Browser einfüge, wird das Bild heruntergeladen. –

Antwort

2

Ändern Sie den MIME-Typ in image/jpeg. Ihre aktuelle content-type ist application/octet-stream, die den Browser zum Herunterladen der Datei sagt. Wenn Sie ein PNG haben, müssen Sie den MIME-Typ image/png verwenden. Suchen Sie einfach nach "MIME-Typen", wenn Sie mehr Dateitypen haben.

Aber wie @GSP bereits sagte, wenn Sie das Bild zu einem normalen Benutzer zeigen möchten, wäre es besser, das HTML-Tag zu verwenden, um es in Ihre Website einzubetten.

+0

Aber die URL ist nicht genau ein Bild Link, wenn Sie den Link in einem Browser öffnen, wird es automatisch das Bild herunterladen. –

+1

Natürlich ist es ein Bildlink. Es hat genau den falschen MIME-Typ, der den Browser anweist, das Bild herunterzuladen, anstatt es direkt im Browser anzuzeigen. Normalerweise sollte der Webserver dies selbst behandeln. Wie es aussieht, verwenden Sie Amazon S3. Schauen Sie sich die S3-Konfiguration an. Wenn Sie die Bilder verarbeiten, überprüfen Sie auch die Verarbeitungskonfiguration. Vielleicht gibt es einen Fehler, während das Bild verarbeitet wird und etwas kaputt geht. – Tobias

+0

Ich kann den MIME-Typ nicht angeben. Ich bin nicht derjenige, der das Bild hostet. Ich habe nur die URL –