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

使用UpFiles.ashx进行文件上传后如何实现文件删除呢?
<%@ WebHandler Language="C#" Class="Uploader" %>  
using System;
using System.IO;
using System.Web;

public class Uploader : IHttpHandler
{
  public void ProcessRequest(HttpContext hc)
  {
  foreach (string fileKey in hc.Request.Files)
  {
  HttpPostedFile file = hc.Request.Files[fileKey];
  string strPath = hc.Server.MapPath(".") + "\\updata\\" + DateTime.Now.ToString("yyyy-MM") + "\\";

  if (!Directory.Exists(strPath))
  {
  Directory.CreateDirectory(strPath);
  }

  file.SaveAs(Path.Combine(strPath, file.FileName));
  }
  }

  public bool IsReusable
  {
  get { return true; }
  }  



上传可以使用,但是如果发现上传文件错误,想在删除上传文件如何实现?



------解决方案--------------------
调用
url = "http://xxx/Uploader.ashx?file=xxx"

Uploader里面
File.Delete(file路径)就可以了
------解决方案--------------------
其实,上传前加入有效的判断,会避免很多问题,比如文件格式控制,分析后缀名,文件大小控制等等,然后捕获下异常,如果发生错误,在Delete

前期处理是必要的
------解决方案--------------------
貌似是4mb以上的文件不会被上传。
设置的问题还是什么其他的- - 
网上有专门的代码写的那种支持大文件的上传控件
------解决方案--------------------
File.Delete(strFilePath);
Response.Write("ok")