HEJ! varför inte bara iterera igenom filnamnen, sätta upp en repeater och binda image url till filnamnet? Låter som en bra ide. Har kommit ett steg på väg. Tja alexander, Alexander, Tackar Med andra ord, verkar den ha problem med att hantera att alt-propertyn inte är satt till något, skriv in något där och testa igen. TACK IGEN. Det var så lite så, det är inte så himla lätt alltid när man inte gjort det förr. Efter det blir det helt plötsligt det mest banala ting i världen.Visa bilder från servern
Jag undrar om någon kan ge mig ännu en spark åt rätt håll?
Jag har en hög(1 till 100st) jpg bilder på servern som jag vill kunna visa på en user control.
Provade detta...
<code>
System.Drawing.Bitmap Bild = new Bitmap("c:/bild.jpg");
Bild.Save(Response.OutputStream,System.Drawing.Imaging.ImageFormat.Jpeg);
</code>
Men då blev det BARA denna bilden.
Skall man kanske använda sig av en Repeater eller ett datagrid?
/AlexanderSv: Visa bilder från servern
Sv:Visa bilder från servern
Har provat lite.
Men:
1. bilderna ligger INTE i web kalalogen.
(Kanske skulle ha en liten bat fil som flyttar in de regelbundet?)
2. Vet inte hur man skall få till det med DataBinder.Eval
<code>
System.IO.DirectoryInfo dir = new System.IO.DirectoryInfo("c:\\");
this.Repeater1.DataSource = dir.GetFiles("*.jpg");
this.Repeater1.DataBind();
<asp:Repeater id="Repeater1" runat="server">
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem, "Name") %>
</ItemTemplate>
</asp:Repeater></P>
</code>Sv: Visa bilder från servern
Att rita bild som ej ligger i web katalogen.
Nu skall man bara få till repeatern.
<code>
VISA BILD.ASPX
private void Page_Load(object sender, System.EventArgs e)
{
// Put user code to initialize the page here
System.Drawing.Bitmap Bild = new Bitmap("c:/Test.jpg");
Bild.Save(Response.OutputStream,System.Drawing.Imaging.ImageFormat.Jpeg);
}
// ANNAN ASPX SIDA
<form id="Form1" method="post" runat="server">
<IMG style="Z-INDEX: 101; LEFT: 216px; POSITION: absolute; TOP: 96px" alt="" src="Bild.aspx">
</form>
</code>Sv:Visa bilder från servern
När du kör GetFiles metoden får du inte en ArrayList, varför du heller inte kan direkt binda den till din DataList/Repeater. Vad du får är en array av FileInfo objekt, från det objekt kan du sedan hämta ut filnamnet och lagra det i en egenskapad ArrayList, och voila, har du ett objekt du kan binda till din data-kontroll.
DirectoryInfo dir = d.GetFiles(".jpg");
ArrayList arrList;
foreach(FileInfo file IN dir)
{
arrList.Add = file.Name;
}
Sen ska du kunna databinda arrList:en med din data-kontroll.
Har inte testat, men det ska bara funka ;o)
Sv: Visa bilder från servern
Dynamisk Bildhämtning
Artikel [Dynamiskt bildhämtning]Sv:Visa bilder från servern
Nu funkar det ganska bra men jag kan inte gå över till design läge längre efter detta:
<code>
<asp:Repeater id="Repeater1" runat="server">
<ItemTemplate>
<IMG alt="" src="Test/Bild.aspx?BILD=<%# DataBinder.Eval(Container.DataItem, "Name") %>">
</ItemTemplate>
</asp:Repeater></P>
</code>
Hittade detta tipset på felet men fattar inte...
http://www.mredkj.com/vbnet/OpenDesignError.htmlSv: Visa bilder från servern
Eller förresten, nu blev det fel, den gillar inte att du användar "-citat tecken när du även använder inline-kod (DataBindern), byt ut dem mot ' istället på src-propertyn. Det borde lösa ditt problemSv:Visa bilder från servern
Du hade helt rätt!
Det skall vara ' och INTE ".
Nu känner jag mig glad!Sv: Visa bilder från servern