سلام دوست عزيز
ببين شما اول بايد يه پوشه مثلا به اسم Image توي برنامه درست كني كه همنطور كه خودت گفتي اين پوشه توي Website بايد باشه براي رست كردن پوشه رو ي اسم برنامه كليك راست كن و new Folder رو انتخاب كن
خوب حالا توي design برنامه يه كنترل FileUplode و Repeater و دو Button قرار بده اسم يكي رو BtnSave و يكي ديگه رو btnShow قرار بده
خوب حالا از يك تابع استفاده مي كنيم به نام Uoload_Image براي خوندن عكس استفاده مي كنيم و توي رويداد دكمه btnSave اون تابع براي ذخيره عكس توي پوشه و ديتابيس فراخواني مي كنيم:
البته توي اين كد شما بادي متغيير ImagePath رو به صورت سراسري تعريف كني چون براي ذخيره در ديتابيس به اون نياز داري
Private Sub Upload_Image()
If FileUpload1.PostedFile IsNot Nothing AndAlso FileUpload1.PostedFile.FileName <> "" Then
ImagePath = "~/WebSite1/Image/" & FileUpload1.FileName.ToString()
FileUpload1.SaveAs(Server.MapPath(ImagePath))
Else
ImagePath = " "
End If
FileUpload1.Dispose()
End If
End Sub
و رويداد دكمه btnSave
Protected Sub btnSave_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Upload_Image()
Dim con As New SqlConnection
Dim cmd As New SqlCommand
connectionString="Data Source=(local);Initial Catalog=test;Integrated Security=True"
con.open()
dim str as string="INSERT INTO ImageCallery (ImageUrl) VALUES ('"& ImagePath &"')"
cmd=new sqlcommand(str,con)
cmd1.ExecuteNonQuery()
con.Close()
EndSub
خوب تا اينجا عكس توي پوشه و ديتابيس ذخيره شد
حالا مي خوايم عكس ها رو بخونيم و توي يه Repeater نمايش بديم:
در ابتدا repater رو به صورت زير ايجاد مي كنيم:
<asp:Repeater ID="Repeater1" runat="server" >
<ItemTemplate>
<div style="border-style:inset; width:160px; height:160px; position:relative; float:right; text-align:center;" >
<br />
<asp:Image ID="Image1" runat="server" ImageUrl='<%#Eval("ImageUrl")%> '/>
<br />
</div>
</ItemTemplate>
</asp:Repeater>
حالا از يه تابع براي نمايش اطلاعات در ريپيتر استفاده مي كنيم و اين تابع رو توي PageLode فراخواني مي كنيم:
Sub ShowRepeater()
Dim con As New SqlConnection
Dim da As New SqlDataAdapter
Dim ds As New DataSet
Dim cmd As New SqlCommand
Dim str As String
con.ConnectionString = connectionString="Data Source=(local);Initial Catalog=test;Integrated Security=True"/>
con.Open()
str = "SELECT * FROM ImageCallery"
da = New SqlDataAdapter(str, con)
da.Fill(ds, "ImageCat1")
Repeater1.DataSource = ds
Repeater1.DataBind()
con.Close()
End Sub
و اينم رويداد Page_load:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
If IsPostBack = False Then
ShowRepeater1()
End If
End Sub
اميدوارم توضيحات به كارتون بياد.
موفق باشيد.