في هذا الموضوع سوف أشرح كيفية رفع صور إلى مجلد على
الموقع , ثم استعرض هذه الصور في GridView .
من خلال الكود التالي سوف نقوم برفع الصورة إلى مجلد ,
ثم تخزين مسار الصورة في قاعدة البيانات , ثم استعراض الصور من المجلد بإستخدام
المسار المخزن في ثاعدة البيانات , الأن سوف نقوم بإنشاء موقع جديد وسوف نضع فيه
مجلد نطلق عليه الإسم Images .
تحتوي قاعدة البيانات على جدول يحتوي على الأعمدة
التالية : ضع اسم Images لقاعدة البيانات , وضع اسم ImagesPath
الأن سوف نقوم بإنشاء الصفحة التي من خلالها سوف نرفع
الصور إلى قاعدة البيانات , ثم نستعرضها خلال GridView
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>Save Images In Folder and Display Images in Gridview from folder</title>
<style type="text/css">
.Gridview
{
font-family:Verdana;
font-size:10pt;
font-weight:normal;
color:black;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:FileUpload ID="fileuploadimages" runat="server" />
<br />
<asp:Button ID="btnSubmit" runat="server" Text="Submit" onclick="btnSubmit_Click" />
</div>
<div>
<asp:GridView runat="server" ID="gvImages" AutoGenerateColumns="false" DataSourceID="sqldataImages" CssClass="Gridview" HeaderStyle-BackColor="#61A6F8" >
<Columns>
<asp:BoundField DataField="ID" HeaderText="ID" />
<asp:BoundField DataField="ImageName" HeaderText="Image Name" />
<asp:ImageField HeaderText="Image" DataImageUrlField="ImagePath" />
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="sqldataImages" runat="server" ConnectionString="<%$ConnectionStrings:dbconnection %>"
SelectCommand="select * from ImagesPath" >
</asp:SqlDataSource>
</div>
</form>
</body>
الأن نقوم بإضافة الكود :
protected void btnSubmit_Click(object sender, EventArgs e)
{
//Get Filename from fileupload control
string filename = Path.GetFileName(fileuploadimages.PostedFile.FileName);
//Save images into Images folder
fileuploadimages.SaveAs(Server.MapPath("Images/"+filename));
//Getting dbconnection from web.config connectionstring
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["dbconnection"].ToString());
//Open the database connection
con.Open();
//Query to insert images path and name into database
SqlCommand cmd = new SqlCommand("Insert into ImagesPath(ImageName,ImagePath) values(@ImageName,@ImagePath)", con);
//Passing parameters to query
cmd.Parameters.AddWithValue("@ImageName", filename);
cmd.Parameters.AddWithValue("@ImagePath", "Images/" + filename);
cmd.ExecuteNonQuery();
//Close dbconnection
con.Close();
Response.Redirect("~/Default.aspx");
}
بعد ذلك يجب أن تكون جملة الاتصال كالتالي :
<connectionStrings>
<add name="dbconnection" connectionString="Data Source=./Sqlexpress;Integrated Security=true;Initial Catalog=اسم قاعدة البيانات"/>
</connectionStrings >