Rotativa / Wkhtmltopdf-Bilder nicht anzeigen
Ich bin derzeit am erstellen einer MVC-4-Webanwendung.
Habe ich eine Aktion, die einen Basis-hintergrund-Bild, das ist immer das gleiche, dann ein Pfeil, Bild, welche änderungen in Grad, abhängig von den gesammelten Informationen innerhalb der Aktion.
Nenne ich diese Aktion mit
<img src="@Url.Action("trend-image", "NonReg_Reports")" alt="background" width="245" height="105" />
Dies funktioniert gut, wenn es aufgerufen wird und nur die Anzeige einer HTML-Webseite. Es gibt mir den HTML-Code.
<img src="/nonreg-report/01495344/trend-image" alt="background" width="245" height="105">
Ich bin dann mit Rotativa /Wkhtmltopdf zu konvertieren, diese HTML-Seite in ein PDF. Dieser führt den gleichen code wie oben.
Das problem ist, ich bin einfach nur ein weißes Feld mit der alternative text, wenn ich den obigen code.
Wenn ich <img src="~/Content/images/trend_back_medium.png" alt="astuff" />
was ist der eigentliche hintergrund Bild in meinem Projekt funktioniert es einwandfrei.
Das Bild aus dem obigen code kann nicht gespeichert werden überall durch, wie es verwendet wird. Ich denke, dass es ein Pfad-problem, aber nach dem Versuch viele verschiedene Dinge, ich kann es immer noch nicht zum laufen bekommen.
Anregungen oder Hilfe wäre sehr geschätzt Danke.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich hatte das gleiche problem. Normale html-Ansicht ok war mit Bildern, pdf-Datei nicht anzeigen. Ich benutzte Server.MapPath zu zeigen Sie auf Bild, und es war ok...
Ich hoffe das hilft
Adam
Hinzufügen des Attributs [System.Web.Mvc.AllowAnonymous], um die controller-Methode Rücksendung der Bild das problem bei mir gelöst.
Ich Stand vor dem gleichen problem, und ich fand einen workaround, nicht schön, aber es passt meine Bedürfnisse.
Scheint es, dass Rotativa(Wkhtmltopdf?) habe ein problem mit Bilder, die zurückgegeben werden aus der http-handler (zumindest bei mir der Fall). So, diese situation zu behandeln, in der controller-action vor der Rückkehr
new ViewAsPdf...
meinen code manuell speichern Sie die Datei in einigen lokalen "temp" - Ordner und ersetzen 'src' der Bilder in der gerenderten Ansicht mit Pfade zu lokalen Dateien, die im server-Pfad Weise, z.B.:http://localhost/img/temp/trend-image.png
.Dies ist keine schöne Lösung, wenn Sie bereits gefunden, besser ein, lassen Sie es mich wissen.
Fand ich, dass mit meinen Seiten, die Bilder wurden nicht angezeigt, weil Sie waren .gif-Dateien.
Rotativa können Probleme mit gifs.
Wenn ich änderte die Bilder .jpg-oder .png funktioniert alles gut.
Denke ich könnte es nach unten kommen, um im Grunde die ".png" bit fehlt.
Könnte man hinzufügen, eine Zuordnung wie diese
/nonreg-report/01495344/trend-image.png
»/nonreg-report/01495344/trend-image
und haben beide die urls aktiv, warum nicht? So wkhtmltopdf ist täuschen und Sie haben noch Ihr dynamisches Bild, ohne zu speichern Sie es irgendwo auf der Festplatte. Dynamische urls arbeiten kann, Tue ich das für live-Konvertierung von gif2png für wkhtmltopdf.Außerdem könnte es helfen haben eine absolute url, die ich denke, Sie tun können, mit etwas wie dieses:
Scheint es zu funktionieren okay über css...
Ich habe versucht, um anzuzeigen, ein logo am oberen Rand der Seite und schaltet es mit einem div-Element, und legen Sie die Höhe und Breite des Bildes.
CSS:
HTML:
Wenn Sie die Angabe der Höhe und Breite, dann stellen Sie sicher, Sie schreiben es im style-tag
wie
<some-tag style="height: 100px; width:100px">