使用RowCommand/RowDelete事件从文件夹/数据库中删除图像
本文关键字:数据库 删除 文件夹 图像 RowCommand RowDelete 事件 使用 | 更新日期: 2023-09-27 18:26:59
我正在上传图像并将其显示在Gridview
中。我将图像保存在文件夹中,并将名称保存在数据库中。现在我想如果我上传了3张照片,并且必须删除我选择的一张。所以我有了照片123。当我选择图片2时,此图片将被删除。。我该怎么做?这是我上传图片的代码:
string filename = Path.GetFileName(fileuploadimages.PostedFile.FileName);
fileuploadimages.SaveAs(Server.MapPath("Images/" + filename));
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["baza_chestionar"].ToString());
con.Open();
SqlCommand cmd = new SqlCommand("Insert into Images(ImageName,ImagePath) values(@ImageName,@ImagePath)", con);
cmd.Parameters.AddWithValue("@ImageName", filename);
cmd.Parameters.AddWithValue("@ImagePath", "Images/" + filename);
cmd.ExecuteNonQuery();
con.Close();
Response.Redirect("~/upload.aspx");
要删除文件,请使用System.IO.File.Delete
:
File.Delete(Path.Combine(path, filename));
其余的实现细节,即如何通知服务器要删除的适当文件,取决于您自己。
您可以使用以下GridView的事件来删除图像。。
- RowCommand
- 行删除
代码隐藏
protected void grd_RowCommand(object sender, GridViewCommandEventArgs e)
{
grd.Rows[e.RowIndex].FindControl("Control of the file Name");
//Find control that contains file Name
if (System.IO.File.Exists("FilePath"))
{
File.Delete(Path.Combine("path", "FileName"));
}
//Your Delete Code to delete record from database
}
protected void grd_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
grd.Rows[e.RowIndex].FindControl("Control of the file Name");
//Find control that contains file Name
if (System.IO.File.Exists("FilePath"))
{
File.Delete(Path.Combine("path", "FileName"));
}
//Your Delete Code to delete record from database
}
HTML
<asp:GridView ID="grd" runat="server" onrowcommand="grd_RowCommand"
onrowdeleting="grd_RowDeleting">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton ID="delete" runat="server" Text="Select" CommandName="delete"></asp:LinkButton>
<asp:LinkButton ID="deleteRow" runat="server" Text="Select" CommandName="deleteRow"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
请注意-您可以使用RowCommand/RowDeleting
事件。。。我将使用RowDeleting