Frohes neues Jahr.Zoom-Bibliothek funktioniert nicht vom Controller
Ich benutze http://www.dfc-e.com/metiers/multimedia/opensource/jquery-fancyzoom/, was mir erlaubt, auf ein Bild von einem Daumennagel zu klicken und eine größere Version zu sehen, die als Overlay über dem angeklickten Daumennagelbild gezeigt wird. Ich kann dann das Bild schließen (über eine Schaltfläche close.png).
Der HTML-Code verwendet wird:
<% var url-small = Url.Action("GetThumbNail", new {id = item.ID });%>
<% var url-large = Url.Action("GetLargeImage", new {id = item.ID });%>
<a href="<%: url-large %>">
<img src="<%: url-small %>" alt="" height="50" width="50"/>
</a>
Jetzt in meinem Controller ich habe:
public ActionResult GetLargeImage(int id)
{
byte[] imageData = repository.GetLargeImage(id);;
return File(imageData, "image/jpeg");
}
und meine GetThumbNail Aktion ist sehr ähnlich und gibt die Datei(). Dies funktioniert gut und zeigt das Thumbnail.
Wenn ich auf das Bild klicken, wird die Aktion "GetLargeImage" ausgeführt und das Bild wird auf einer neuen Seite angezeigt. Wenn ich url-large durch etwas wie "images/testimage.jpg" ersetze, dann wird das richtige Verhalten angezeigt, wenn ich auf das Bild des Daumennagels klicke, und testImage.jpg wird als ein Overlay (die gezoomte Version) auf demselben angezeigt Seite.
Es scheint also so, als würde die Verwendung des Controllers dazu führen, dass das große Bild nicht als Überlagerung, sondern in einer neuen Seite angezeigt wird.
Irgendwelche Ideen, warum das passiert?
JD
Hallo, die Header, die ich gefunden habe, wenn es funktioniert, scheinen eine Antwort mit dem Content-Type "application/octet-stream" zu haben und auch eine HTTP-Anfrage wird an die "close.png" gestellt. Wenn es jedoch nicht funktioniert, ist der Inhaltstyp image/jpeg. Auch die Anfrage, wenn es nicht funktioniert hat: Akzeptieren \t text/html, application/xhtml + xml, application/xml; q = 0.9, */*; q = 0.8 wo wie es funktioniert, hat die Anfrage: Accept \t image/png, image/*; q = 0,8, */*; q = 0,5. Ich habe versucht, "application/content-stream" zurückzugeben, aber die Aktion bewirkt, dass meine Datei gespeichert wird. –