Suppose your project is place at the Desktop
FileUpload1.SaveAs(Server.MapPath(Convert.ToString("Images/") & FileName))
the above line will store the image in this path
F:\Users\azim\Desktop\DemoProject\Images\img.jpg
Here you can add sub folder also like Images/01/2012 if you change the above code and add Images/01/2012 in server.MapPath then it will store the image in
F:\Users\azim\Desktop\DemoProject\Images\01\2012\img.jpg
Here is the code HTML:
<form id="form1" runat="server">
<div>
<asp:FileUpload ID="FileUpload1" runat="server" />
<asp:Button ID="btnUpload" runat="server" Text="Upload" OnClick="btnUpload_Click" />
</div>
<hr />
<div>
<br />
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" Font-Names="Arial">
<Columns>
<asp:BoundField DataField="ID" HeaderText="ID" />
<asp:BoundField DataField="FileName" HeaderText="Image Name" />
<%--<asp:ImageField DataImageUrlField="FilePath" ControlStyle-Width="100" ControlStyle-Height="100"
HeaderText="Preview Image" />--%>
<asp:TemplateField HeaderText="Preview Image">
<ItemTemplate>
<asp:Image ID="imgPreview" ImageUrl='<%# Eval("FilePath") %>' Width="100" Height="100"
runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Get Image">
<ItemTemplate>
<asp:Button ID="btnGetImage" Text="Get image" runat="server" OnClick="GetImage" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
Name of Image
<asp:TextBox ID="txtDemo" runat="server" />
<br />
Image
<asp:Image ID="imgDemo" runat="server" Width="100" Height="100" Visible="false" />
</ContentTemplate>
</asp:UpdatePanel>
</div>
</form>
C#:
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
If Not Me.IsPostBack Then
Dim dt As New DataTable()
Dim strConnString As [String] = System.Configuration.ConfigurationManager.ConnectionStrings("constr").ConnectionString
Dim strQuery As String = "select * from FileTable order by ID"
Dim cmd As New SqlCommand(strQuery)
Dim con As New SqlConnection(strConnString)
Dim sda As New SqlDataAdapter()
cmd.CommandType = CommandType.Text
cmd.Connection = con
Try
con.Open()
sda.SelectCommand = cmd
sda.Fill(dt)
GridView1.DataSource = dt
GridView1.DataBind()
Catch ex As Exception
Response.Write(ex.Message)
Finally
con.Close()
sda.Dispose()
con.Dispose()
End Try
End If
End Sub
Protected Sub GetImage(sender As Object, e As EventArgs)
Dim row As GridViewRow = TryCast(TryCast(sender, Button).NamingContainer, GridViewRow)
txtDemo.Text = row.Cells(1).Text
Me.imgDemo.Visible = True
imgDemo.ImageUrl = DirectCast(row.FindControl("imgPreview"), Image).ImageUrl
End Sub
Protected Sub btnUpload_Click(sender As Object, e As EventArgs)
If FileUpload1.PostedFile IsNot Nothing Then
Dim FileName As String = Path.GetFileName(FileUpload1.PostedFile.FileName)
'Save files to disk
FileUpload1.SaveAs(Server.MapPath(Convert.ToString("Images/") & FileName))
'Add Entry to DataBase
Dim strConnString As [String] = System.Configuration.ConfigurationManager.ConnectionStrings("constr").ConnectionString
Dim con As New SqlConnection(strConnString)
Dim strQuery As String = "insert into FileTable (FileName, FilePath) values(@FileName, @FilePath)"
Dim cmd As New SqlCommand(strQuery)
cmd.Parameters.AddWithValue("@FileName", FileName)
cmd.Parameters.AddWithValue("@FilePath", Convert.ToString("Images/") & FileName)
cmd.CommandType = CommandType.Text
cmd.Connection = con
Try
con.Open()
cmd.ExecuteNonQuery()
Catch ex As Exception
Response.Write(ex.Message)
Finally
con.Close()
con.Dispose()
End Try
Response.Redirect(Request.Url.AbsoluteUri)
End If
End Sub
Import these name space
Imports System.Data.SqlClient
Imports System.Data
Imports System.IO