前台页面:
<form action="upload.ashx" method="post" enctype="multipart/form-data">
<input type="file" name="txtUpload" id="fFile" />
<input type="submit" value="上传" id="btnUpload" />
</form>
一个file的input标签,一个表单提交按钮,将以post的形式提交到一般处理程序进行处理。
uploas.ashx:
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
//判断文件数量是否大于零
if (context.Request.Files.Count > 0)
{
//这里是上传单个文件,所以取到上传文件数组第一个文件对象
HttpPostedFile file = context.Request.Files[0];
//判断文件路径是否为空
if (!string.IsNullOrEmpty(file.FileName))
{
//获取文件的拓展名
string extention = Path.GetExtension(file.FileName);
//使用当天的日期加上一个4位的随机数来组成一个随机文件名
string name = DateTime.Now.ToString("yyyyMMdd") + new Random().Next(1000, 10000) + extention;
//设置文件保存的路径
string path = context.Server.MapPath("Uploads/" + name);
//保存文件
file.SaveAs(path);
context.Response.Write("ok");
}
}
}