Я был создан для загрузки изображения с изменениями и обновлением.не удалось удалить изображение, если оно уже существует в C#
Когда я вставляю изображение, оно будет храниться как на жестком диске, так и в базе данных.
Если вы редактируете и загружаете другой файл и нажимаете обновление, он будет изменен в gridview. но также хочу удалить, если вы уже загрузили изображение на жесткий диск.
Вот мой полный источник:
protected void btnsub_Click(object sender, EventArgs e)
{
SqlConnection con = Connection.DBconnection();
if (Textid.Text.Trim().Length > 0)
{
SqlCommand com = new SqlCommand("StoredProcedure3", con);
com.CommandType = CommandType.StoredProcedure;
com.Parameters.AddWithValue("@id", Textid.Text.Trim());
com.Parameters.AddWithValue("@Name", Textusername.Text.Trim());
com.Parameters.AddWithValue("@Class", Textclass.Text.Trim());
com.Parameters.AddWithValue("@Section", Textsection.Text.Trim());
com.Parameters.AddWithValue("@Address", Textaddress.Text.Trim());
try
{
string filename = Image1.ImageUrl.Substring(Image1.ImageUrl.IndexOf('/')+1);
string filepath = @"E\student\student\student\Images";
if (Directory.Exists(Path.GetDirectoryName(filepath)))
{
File.Delete(filepath);
}
if (fileupload.PostedFile.FileName.Length > 0)
{
filename = Path.GetFileName(fileupload.PostedFile.FileName);
fileupload.SaveAs(Server.MapPath("~/Images/" + filename));
}
com.Parameters.AddWithValue("@Image",(filename.Length>0)? "Images/" + filename:string.Empty);
com.ExecuteNonQuery();
}
catch (Exception ex)
{
btnsub.Text = ex.Message;
}
Response.Redirect("studententry.aspx");
}
else
{
SqlCommand com = new SqlCommand("StoredProcedure1", con);
com.CommandType = CommandType.StoredProcedure;
com.Parameters.AddWithValue("@Name", Textusername.Text.Trim());
com.Parameters.AddWithValue("@Class", Textclass.Text.Trim());
com.Parameters.AddWithValue("@Section", Textsection.Text.Trim());
com.Parameters.AddWithValue("@Address", Textaddress.Text.Trim());
try
{
string filename = string.Empty;
if (fileupload.PostedFile.FileName.Length > 0)
{
filename = Path.GetFileName(fileupload.PostedFile.FileName);
fileupload.SaveAs(Server.MapPath("~/Images/" + filename));
}
com.Parameters.AddWithValue("@Image",(filename.Length>0)? "Images/" + filename:string.Empty);
com.ExecuteNonQuery();
}
catch (Exception ex)
{
btnsub.Text = ex.Message;
}
Response.Redirect("studententry.aspx");
}
}
Могу ли я узнать, как удалить, если уже загружено изображение на жестком диске?
Любая помощь будет высоко оценена.
Спасибо,
Что такое исключение ? –
if (Directory.Exists (Path.GetDirectoryName (путь к файлу))) { Файл.Delete (путь к файлу); } что это означает, что если каталог существует, то вы удаляете его, и вы снова пытаетесь сохранить изображение в одном каталоге –
Пател прав, и вы пропустили: знак, E: \ student \ ... – owairc