public void ProcessRequest(HttpContext context)
{
context.Response.ContentType="text/plain";
//接收SWFUpload发送过来的文件
HttpPostFile file=context.Request.Files["Filedata"];
//判断文件是否存在
if(file!=null)
{
//取文件的名称与扩展名,并判断文件的类型是否正确
string fileName=Path.GetFileName(file.FileName);
string fileExt=Path.GetExtension(fileName);
if(fileExt.ToLower()==".jpg")
{
//新建文件夹,(将上传上来的文件放到不同的文件夹)
string dir="/upload/"+DateTime.Now().ToString("yyyy/MM/dd/");
Directory.CreateDirectory(context.Request.MapPath(dir));
//对文件进行重命名(使用文件流的MD5值做为上传图片的名称)
string fulldir=dir+common.WebCommon.GetStreamMD5(file.InputStream)+fileExt;
file.SaveAs(context.Request.MapPath(fulldir));
context.Response.Write("ok:"+fulldir);
}
}
}
创建一个文件夹common,专门用来存放工具类
添加一个类WebCommon,并添加一个方法如下
//计算文件的MD5值
public static string GetStreamMD5(Stream stream)
{
string strResult="";
MD5CryptoServiceProvider md5=new MD5CryptoServiceProvider();
byte[] arrayHashValue=md5.ComputeHash(stream); //计算指定stream对象的哈希值
//由以连接字符分隔的十六进制构成的String,其中每一对表示value对应的元素,例如"F-2C-4A"
strResult=System.bigtConverter.ToString(arrayHashValue);
//替换
strResult=strResult.Replace("-","");
return strResult;
}
转载于:https://www.cnblogs.com/NFFF/archive/2013/06/14/swfupload2.html