一.上传图片
public string picUpload()
{
if (this.FIleUploadPic.HasFile)//检查是否有文件
{
string fullFileName = this.FIleUploadPic.PostedFile.FileName; //文件路径名
string fileName = fullFileName.Substring(fullFileName.LastIndexOf("\\") + 1); //图片名称
string type = fullFileName.Substring(fullFileName.LastIndexOf(".") + 1); //图片格式
if (type == "jpg" || type == "JPG" || type == "gif" || type == "GIF" || type == "BMP" || type == "bmp") //判断是否为图片类型
{
if (this.FIleUploadPic.PostedFile.ContentLength > 20 * 1024)
{
Response.Write("<script>alert('上传图片必须小于20k!');</script>");
}
else
{
string path = HttpContext.Current.Request.MapPath("~/admin/images/solutionPic/");//获取上传文件的网站目录路径
this.FIleUploadPic.SaveAs(path + fileName);//存储文件到磁盘
return "~/admin/images/solutionPic/" + fileName;
//Response.Write("<script>alert('图片上传成功!');</script>");//提示
//this.imgPicture.Src = "~/admin/images/solutionPic/" + fileName;//显示图片
}
}
else
{
Response.Write("<script>alert('非图片类型,不允许上传!');</script>");
}
}
else
{
Response.Write("<script>alert('必须指定文件!');</script>");
}
return "";
}
二.删除图片
解决问题思路如下:
1.在上传文件的时候,你会将文件保存到网站中的某个文件夹下,同时你会到数据库中保存上传这个文件的记录。建议你在数据库的这个表中添加记录这个文件所在路径的一个字段。这个字段所添加的数据就是你在保存上传的文件的路径(最好是相对路径,别用绝对路径)。
2.在删除数据的时候,先读取这条记录所保存的文件路径,然后通过File.Delete(Server.MapPath(文件URL))方法将文件删除,在把这个数据库记录删除。这样就可以了。
public static void ExecuteSqlTran()
{
using (OleDbConnection conn = new OleDbConnection(connectionString))//连接字符串
{
conn.Open();
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = conn;
OleDbTransaction tx = conn.BeginTransaction();
cmd.Transaction = tx;
int I = 0;
try
{
cmd.CommandText = "delete from XXX where ...";//sql语句
I = cmd.ExecuteNonQuery();
if (I > 0)
{
try
{
File.Delete(Server.MapPath(文件URL));
tx.Commit();
}
catch
{
tx.Rollback();
}
//这块的TRY CATCH 可以不用
}
else
{
tx.Rollback();
}
}
catch (System.Data.OleDb.OleDbException E)
{
tx.Rollback();
throw new Exception(E.Message);
}
}
}