Ich möchte einige Bilder aus Gründen des Zugriffsschutzes von einem
Controller ausliefern lassen. Das kann dann so aussehen
def show
respond_to do |format|
format.png do
send_file @image.filename, :disposition => ‘inline’
end
end
end
Wofür ich zusätzlich
Mime::Type.register ‘image/png’, :png
definiert habe. Aber eigentlich möchte ich gar keine spezifischen
MIME-Typen angeben (müssen), sondern ich möchte aus einem Block auf alle Bildtypen, also image/*, reagieren.
Mime::Type.register ‘image/*’, :image
und
format.image
funktioniert allerdings nicht, weil respond_to nur exakt matcht, keine
Wildcards.
Hat jemand eine Idee, wie man das schön lösen kann?
Bei mir funktioniert das Ding irgendwie (OK, ich krieg
die Bilder nur zum Download angeboten). Hatte erst
gedacht dass Ruby da Ärger machen könnte wegen dem
Unterschied zwischen ’ und " aber das war’s nicht.
Daher die blöde Frage, du hast im environment.rb
nur Mime::Type.register ‘image/*’, :image
und im Controller dann format.image ?
Liegt’s vielleicht am Bild?
ciao, tom
Am 17.11.2007 um 00:14 schrieb Michael S.:
Mime::Type.register ‘image/png’, :png
funktioniert allerdings nicht, weil respond_to nur exakt matcht, keine
Wildcards.
On Saturday 17 November 2007, Thomas R. Koll wrote:
Hi Michael,
Bei mir funktioniert das Ding irgendwie (OK, ich krieg
die Bilder nur zum Download angeboten).
Was genau funktioniert bei dir? Wenn ich explizit konkrete MIME-Typen
verwende, dann geht das bei mir natürlich auch.
Hatte erst
gedacht dass Ruby da Ärger machen könnte wegen dem
Unterschied zwischen ’ und " aber das war’s nicht.
Das verstehe ich nicht.
Daher die blöde Frage, du hast im environment.rb
nur Mime::Type.register ‘image/*’, :image
und im Controller dann format.image ?
Das habe ich versucht. Es geht nicht, jedenfalls nicht bei mir.
Wildcards werden nicht gematcht und der Browser schickt nun mal eine
Liste von konkreten MIME-Type, die er haben möchte.
hm, vielleicht versteh ich ja irgendwas nicht, aber wozu hast du da
ueberhaupt ein respond_to drin? geht doch auch ohne oder?
Alles geht auch ohne respond_to – dann muss ich aber die Arbeit
selbst machen, die respond_to mir abnimmt. In diesem Fall möchte ich
Bilder sowohl für die Anzeige in einer Seite ausliefern (image/*) und
ebenso eine Seite, die das Bild einbettet (text/html).