1.以下是.html的代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
</head>
<body>
<form action="upload.ashx" method="post" enctype="multipart/form-data">
<input type="file" name="fUpload" />
<input type="submit" id="btn" value="上传" />
</form>
</body>
</html>
2.以下是upload.ashx的全部代码
<%@ WebHandler Language="C#" Class="_01_upload" %>
using System;
using System.Web;
public class _01_upload : IHttpHandler {
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))
{
//通过contenttype判断上传文件的类型 比判断后缀名要安全一些,但不是绝对的
//if (file.ContentType == "image/jpeg" || file.ContentType == "image/pjpeg")
//{
//后缀名
string ext = System.IO.Path.GetExtension(file.FileName);
//生成不重复的文件名 时间+随机数
//string fileName = System.IO.Path.GetFileName(file.FileName);
Random ran = new Random();
string fileName = DateTime.Now.ToString("yyyyMMddhhmmss") + ran.Next(1000, 10000) + ext;
//绝对路径
string path = context.Request.MapPath("upload/" + fileName);
file.SaveAs(path);
context.Response.Write("保存成功");
//}
//else
//{
// context.Response.Write("该文件不允许上传");
//}
}
else
{
context.Response.Write("请上传文件");
}
}
}
public bool IsReusable {
get {
return false;
}
}
}