2009-06-26 9 views
0

In meiner Webanwendung I dynamisch generieren Bilder und möchten die Bilder als Teil einer Webseite zeigen.Woher erhält der ASP.NET-Entwicklungsserver seine Bilder?

Aber, beim Debuggen mit dem ASP.NET-Entwicklungsserver (nicht IIS) - Ich habe keine Idee wo diese Bilder speichern, so dass sie von meiner Webanwendung referenziert werden können.

Sollte ich Directory.GetCurrentDirectory() verwenden?

Oder Assembly.GetExecutingAssembly(). Standort?

Oder Assembly.GetExecutingAssembly(). CodeBase?

Keiner dieser Pfade scheint zu funktionieren.

Irgendwelche Ideen?

Antwort

3

Server.MapPath("~/") gibt Ihnen den Pfad die Wurzel der Webanwendung. Alles, was in den Bereich dieses Pfades fällt, sollte automatisch vom Webserver offen gelegt werden, sei es IIS oder der VS-Entwicklungsserver.

Die Server-Eigenschaft ist in allen Page Objekten verfügbar und kann ansonsten unter HttpContext gefunden werden.

+0

Funktioniert wie ein Charme, danke schou-rode! – willem

1

verwenden Sie Ashx Handler Server-Images on the fly schreiben kann. Here ist ein Tutorial dafür. Es wollen, um sie zu erzeugen und anzuzeigen später dann einen Ordner in Ihrem Web-Site-Ordner-Struktur erstellen und seinen physischen Pfad erhalten mit diesem:

string imgPath = Server.MapPath("/") + "Images\" + IMAGENAME; 
1

eine seprate aspx Seite, und Ihre Code overthere setzen, dass Ihre dynamische erstellen Bilder .. Ihr Code soll wie folgt aussehen werden ....

 Response.ContentType = dtblProductImage[0].ImageFileExt;//image extension 
     Response.BinaryWrite(dtblProductImage[0].ImageData); //your image binary 


zu dieser Seite geht jetzt, wo Sie Ihr Bild zeigen und die Bildeigenschaft von imageURL auf Ihre Seite gesetzt ist, wird es so aussehen ....

<asp:Image ID="imgProduct" runat="server" ImageUrl="yourpage.aspx" /> 
Verwandte Themen