webForumDet fria alternativet

Bild från server i C#

.NETur .NET

3 svar · 495 visningar · startad av h00karem

h00karemMedlem sedan mars 200524 inlägg
#1

Hejsan jag har ett problem som jag inte kan lösa :(
Tidigare (när bilder var en virtuell katalog till en lokal mapp) har jag, för att kunna använda bilden på olika sätt, använt mig av:

tmp = @Server.MapPath("../bilder/bild.jpg") ;
Bitmap objBitMap = new Bitmap(new Bitmap(tmp)) ;

Nu har mappen "bilder" flyttats till en anan maskin och jag vill i stället hämta bilden från https://www.websidan.se/bilder eller localhost/websidan/bilder men eftersom det är en virtuell katalog så tar @Server.MapPath("../bilder/bild.jpg") bilden direkt från \\server\websidan\bilder... och den vägen har jag inte access till bilden men skriver jag in https://www.websidan.se/bilder så ser jag den.
Förstår ni eller hur kan ja förklara bättre?

Testar nu:
tmp = @Server.MapPath("../bilder/bild.jpg") ;
System.Net.WebRequest wr = System.Net.WebRequest.Create(tmp);
wr.Credentials = System.Net.CredentialCache.DefaultCredentials;
System.Net.WebResponse resp = wr.GetResponse();
Bitmap objBitMap = (Bitmap)Bitmap.FromStream(resp.GetResponseStream());

men objBitMap blir null och de kan bero på ett "NotSupportedException"

h00karemMedlem sedan mars 200524 inlägg
#2

asch det sista funkade :) bara jag som va tillfälligt yr

emissionMedlem sedan dec. 19996 721 inlägg
#3

En smidigare och effektivare variant vore väl att se till att du har access till filen?

renholmMedlem sedan apr. 20012 266 inlägg
#4

Ett tips när du använder Bitmap är att använda using-keywordet för att resurserna som används av Bitmap skall frigöras direkt när du är klar med objektet.

using (Bitmap objBitMap = (Bitmap)Bitmap.FromStream(resp.GetResponseStream()))
{
   // Gör något skoj!!
} // här frigörs resurserna från objBitMap
133 ms totalt · 3 externa anrop · v20260731065814-full.29ac60f6
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)