Den Bildnamen kannste mit angeben!
Das geht über Page.Response.AddHeader bzw. Context.Response.AddHeader - wobei
Context dein aktueller HttpContext ist!
Meine Implementierung:
/// <summary>
/// Gibt Dateiinhalt dem Client aus
/// </summary>
/// <param name="Context">current HttpContext</param>
public void BinaryWrite(HttpContext Context)
{
byte[] Data = this.getDataForBinaryWrite();
Context.Response.Expires = 0;
Context.Response.Buffer = true;
Context.Response.ClearContent();
Context.Response.ContentType = this.MimeType;
Context.Response.AddHeader("Content-Disposition","inline; filename=" +
this.Source);
Context.Response.BinaryWrite(Data);
Context.Response.End();
}
this.Source ist bei mir der Dateiname!
-----Ursprüngliche Nachricht-----
Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Im Auftrag von Thomas Burkart
Gesendet: Mittwoch, 23. November 2005 17:43
An: [email protected]
Betreff: AW: [Asp.net] Image an asp:Image-Control zuweisen, ohne einen Pfad
anzugeben..
Hallo Lars
Darf ich dich fragen, wie dann dein Bild heisst, wenn es vom Browser
runtergeladen wird. Heisst es Image.aspx? Denn ich löse das Problem auch so wie
du, habe aber nun die Anforderung, dass ich den Bildname benötige, mir wird
aber immer der Name der ASPX-Datei, die den Stream erzeugt, gezeigt :-(
Gruss, Thomas
-----Ursprüngliche Nachricht-----
Von: Lars Berner [mailto:[EMAIL PROTECTED]
Gesendet: Montag, 21. November 2005 16:27
An: [email protected]
Betreff: AW: [Asp.net] Image an asp:Image-Control zuweisen, ohne einen Pfad
anzugeben..
Hallo,
eine kleine Lösungs-Anregung für solche Probleme:
Zuerst habe ich da etwas in der web.config in etwas auf folgende Weise
herumprobiert:
<system.web>
<httpHandlers>
<add verb="*" path="Image.ashx"
type="Villicus.Bergshop.BusinessLayer.ImageSendHandler" />
</httpHandlers>
...
Das hat aber nicht auf Anhieb so recht geklappt.
Was ich für eine viel einfachere Lösung halte ist Folgendes (so hab ichs
jetzt auch gelöst):
1. Ich habe mir eine neue aspx namens Image.aspx mit folgendem Inhalt im
Load-Handler erstellt:
// Daten holen..
string prod = HttpContext.Current.Request.QueryString["prodid"];
Guid prodID = new Guid(prod);
// ..aus der DB
DAL.ProductAdministrator prodAdmin = new DAL.ProductAdministrator();
byte[] buffer = prodAdmin.GetPictureByProduct(prodID);
MemoryStream memStream = new MemoryStream(buffer);
memStream.Position = 0;
Bitmap bmp = new Bitmap(memStream);
// Aktuellen Contene löschen und den neuen Content Type setzen
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.ContentType = "image/gif";
// Hineinschreiben in das Response.OutputStream Object
bmp.Save(HttpContext.Current.Response.OutputStream,
System.Drawing.Imaging.ImageFormat.Gif);
bmp.Dispose();
HttpContext.Current.Response.End();
2. Im DataBound Handler des DataLists habe ich mir das <asp:Image...
gegriffen und die ImageURL-Property in Verbindung mit einem ID Wert auf
den aktuellen Datensatz gelegt.
Funktioniert blendend, wenn man die den Responsestream vorher leert und den
Mime-Type auf den beötigten festlegt. Liegt vermutlich daran, dass
System.Web.UI.Page den IHttpHandler eh schon implementiert...
Viele Grüße
Lars Berner
-----Ursprüngliche Nachricht-----
Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Im
Auftrag von Mueller Harry IT133 (ext)
Gesendet: Montag, 21. November 2005 14:54
An: [email protected]
Betreff: AW: [Asp.net] Image an asp:Image-Control zuweisen, ohne einen Pfad
anzugeben..
Stimmt. Wir meinen das Selbe. Der Versand der Mail hat sich nur
überschnitten.
Kind Regards / Mit freundlichen Grüßen
Dipl. Inform. Harry Müller
Microsoft Certified Professional
SIEMENS
Power Generation IT133
Freyeslebenstrasse 1
91058 Erlangen, GERMANY
Tel: +49 9131 18-7521
Mail: [EMAIL PROTECTED]
-----Ursprüngliche Nachricht-----
Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Im
Auftrag von Lars Berner
Gesendet: Montag, 21. November 2005 14:43
An: [email protected]
Betreff: AW: [Asp.net] Image an asp:Image-Control zuweisen, ohne einen Pfad
anzugeben..
Hallo,
genau das meint ja Thomas glaube ich
(<asp:Image ImageUrl="~/Image.ashx?FileId=1" runat="server" />)
ich muss mir das noch mal genau ansehen. Bin dran. Image.ashx steht doch für
'nen Handler !?
ich versuchs einfach mal
Vielen Dank
Lars Berner
-----Ursprüngliche Nachricht-----
Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Im
Auftrag von Mueller Harry IT133 (ext)
Gesendet: Montag, 21. November 2005 14:09
An: [email protected]
Betreff: AW: [Asp.net] Image an asp:Image-Control zuweisen, ohne einen Pfad
anzugeben..
Ich glaube nicht, dass das so ohne weiteres geht. Der Browser referenziert
ja ein Image über die URL. Das Bild selbst befindet sich also auf dem Server
und wird über src angezeigt.
Den einzigen Ausweg sehe ich so auf Anhieb in der Verwendung von
HTTPHandlern.
Kind Regards / Mit freundlichen Grüßen
Dipl. Inform. Harry Müller
-----Ursprüngliche Nachricht-----
Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Im
Auftrag von Lars Berner
Gesendet: Montag, 21. November 2005 14:04
An: [email protected]
Betreff: [Asp.net] Image an asp:Image-Control zuweisen, ohne einen Pfad
anzugeben..
Hallo,
ich stehe vor folgender Frage:
Ich habe ein byte-Array mit den daten für ein Image-Objekt. Ich kann also
problemlos ein Image-Objekt daraus generieren oder den Kram in einen Stream
pumpen. Da es sich um ein kleines ThumbNail Image direkt aus der DB handelt
verfügt es allerdings nicht über eine URL bzw einen Pfad.
Wie würdet ihr dieses Thumbnail zur Laufzeit in einer DataList einblenden?
Ich stehe da gerade etwas an..
Viele Grüße
Lars
_______________________________________________
Asp.net Mailingliste, Postings senden an:
[email protected]
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/asp.net
_______________________________________________
Asp.net Mailingliste, Postings senden an:
[email protected]
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/asp.net
_______________________________________________
Asp.net Mailingliste, Postings senden an:
[email protected]
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/asp.net
_______________________________________________
Asp.net Mailingliste, Postings senden an:
[email protected]
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/asp.net
_______________________________________________
Asp.net Mailingliste, Postings senden an:
[email protected]
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/asp.net
_______________________________________________
Asp.net Mailingliste, Postings senden an:
[email protected]
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/asp.net
_______________________________________________
Asp.net Mailingliste, Postings senden an:
[email protected]
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/asp.net