Asp.Net上传文件到服务器和删除服务器上的文件

客户端上传到服务器

上传的控件是 FileUpload

<asp:FileUpload ID="Image" runat="server" style="margin-bottom: 0px"   Width="185px" />

后台代码

// 上传图片到服务器 /image下
        if (Image.HasFile)
        {
            string PictureName = Image.PostedFile.FileName;    // 获取图片名字  Image就是控件的ID
            FileInfo PictureFile = new FileInfo(PictureName);
            string WebFilePath = Server.MapPath("image/" + PictureFile.Name);   // 设置存放路径
            string FileType = Image.PostedFile.ContentType;   // 获取图片类型
            //Response.Write(FileType);   //测试图片文件格式类型
            //Response.Write("<script language=javascript >alert('(1)我到这了!!');</script>"); //测试

            if (FileType == "image/bmp" || FileType == "image/gif" || FileType == "image/jpeg")//image开头小写的啊,我勒个去
            {
                if (!File.Exists(WebFilePath))   // 如果不存在就保存
                {
                    try
                    {
                        Image.SaveAs(WebFilePath);
                        //Image1.ImageUrl = "Images/" + PictureFile.Name;

                    }
                    catch (Exception ex)
                    {
                        // 异常处理
                    }
                }
                else
                {
                    // 图片以经存在
                }
            }
            else
            {
                // 图片格式不对
            }
        }

注意:*.jpg的图片的FileType = "image/jpeg"


从服务器删除

 

cnn.Open();
      
///////////////////////// 删除照片
// 从数据库获取图片名字
string cmdText = "select Image from StudInfo where StuNo = " + StuNo.Text.Trim();
SqlCommand cmd2 = new SqlCommand(cmdText, cnn);
SqlDataReader dr = cmd2.ExecuteReader();
if (dr.Read())
{
    string imageName = (string)dr.GetValue(0);
    Response.Write(imageName);

    // 获取路径并且删除
    string FilePath = Server.MapPath("image/" + imageName);  // 必须转化以下文件路径,不能直接delete("image/4jpg");
    File.Delete(FilePath);
}
cnn.Close();

1. SqlCommand对象获取到的结果集SqlDataReader对象的首元素是GetValue(0)

2. FilePath需要一个转化的字符串 Server.MapPath("url")

3. File是命名空间 System.IO里面的一个内置对象,引入即可

猜你喜欢

转载自blog.csdn.net/chenbetter1996/article/details/80705375