日期:2014-05-17  浏览次数:20466 次

.NET 上传图片时将上传的图片更改为固定名称,并将原有的图片在文件夹中删除
.NET 上传图片时将上传的图片更改为固定名称,并将原有的图片在文件夹中删除

现附上我的上传图片的代码,删除图片代码file.delte(file)改放在哪儿,求给位指教


  public void file_upload() //上传图片
  {
  //上传图片  
  bool fileOK = false;
  string path = Server.MapPath("~/uploadfile/images/");//获取服务器路径
  String fileExtension = System.IO.Path.GetExtension(image_file.FileName).ToLower();
  if (image_file.HasFile)//判断文件格式是否正确,即判断HasFile属性是否为true
  {
   
  String[] allowedExpressions = { ".gif", ".jpg", ".jpeg", ".bmp", ".png" };
  for (int i = 0; i < allowedExpressions.Length; i++)
  {
  if (fileExtension == allowedExpressions[i])
  {
  fileOK = true;
  }
  }
  }

  //调用SaveAs方法,实现上传,并显示相关信息
  if (fileOK)
  {
   
  string newfilename = "1." + fileExtension;
  image_file.SaveAs(path + image_file.FileName);//将客户端图片,另存为服务器路径  
  }



protected void btnagainimage_Click(object sender, EventArgs e)
  {
  string images = ("~/uploadfile/images/"+image_file.FileName);
  file_upload();
  DataAccess.gz_ImageNew imagess= new DataAccess.gz_ImageNew();
  bool result = imagess.UpdateImageNew(StrValue,images);
  if (result)
  {
  Page.RegisterStartupScript("check", "<script>alert('重新上传成功!')</script>");
  }
  else
  {
  Page.RegisterStartupScript("check", "<script>alert('重新上传失败!')</script>");
  }
  }

------解决方案--------------------
不明白楼主所谓的原来的文件是指的什么,上传在客户端,网络通过二进制传递到服务器端后服务器端可以进行保存(这时可用原有的名称或者改为指定的名称),保存成功后文件在服务器端仅存在一份
------解决方案--------------------
```不用那么麻烦的。。。

streamwrite("文件名(上传到服务器上的文件名",true(这个属性貌似是选择覆盖还是不覆盖。true跟false),''这个参数不记得了。) 你可以去看下 有说明的。
------解决方案--------------------
那你上传之前 删除下同名的文件咯。