标签:
这里呢我们只是给大家简单的做一个Demo,知道图片是怎么被传到我们的服务器的ok
现在我们的网站根目录新建一个HTML页面就叫FileUpload.html吧!
<body> <form action="FileUp.ashx" method="post" enctype="multipart/form-data"> <input type="file" name="fileUp" /> <br /> <input type="submit" value="上传" /> </form> </body>
注意:在form表单有一个enctype属性千万别忘了,否则你上传不上去的
这里呢我们是action到一个一般处理程序
namespace FileUpload { /// <summary> /// FileUp 的摘要说明 /// </summary> public class FileUp : IHttpHandler { public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/html"; //接收文件数据 HttpPostedFile file = context.Request.Files["fileUp"]; //判断是否为空 if (file == null) { context.Response.Write("请选择要上传的文件"); } else { string fileName = Path.GetFileName(file.FileName); //拿到文件名+扩展名 string fileExtension = Path.GetExtension(fileName); //拿到上传文件的扩展名 //判断文件的类型(排除安全隐患,防止exe类型的文件) if(fileExtension==".jpg") { //这只是一个字符串,要根据这个字符串创建对应的文件夹 string dir = "/Data/" + DateTime.Now.Year + "/" + DateTime.Now.Month + "/" + DateTime.Now.Day + "/"; Directory.CreateDirectory(Path.GetDirectoryName(context.Request.MapPath(dir))); //创建文件夹 string newFileName = Guid.NewGuid().ToString(); //需要对文件进行重命名 string fullPath = dir + newFileName + fileExtension; //构建完整的文件路径 file.SaveAs(context.Request.MapPath(fullPath)); //进行保存 //file.SaveAs(context.Request.MapPath("/Data/"+fileName)); context.Response.Write("上传成功</br>"); context.Response.Write("<html><head></head><body><img src=‘"+fullPath +"‘/></body></html>"); //这样的话所有的图片都会上传到Data到这个文件夹下,不好,图片一多,很卡 //最后将路径存到数据库就行了 } else { context.Response.Write("只能上传jpg格式的图片"); } } } public bool IsReusable { get { return false; } } } }
注意:我们的图片都上传到网站的根目录下Data这个文件夹下,别忘了创建Data文件夹
ok,图片上传写忘了~~不难吧!!!
=========================================
文件下载
<body>
<a href="fileDown.ashx">下载</a>
</body>
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
string eccodeFileName = "123.txt";
context.Response.AddHeader("Content-Disposition", string.Format("attachment;filename=\"{0}\"", eccodeFileName));
context.Response.WriteFile("123.txt");
}
标签:
原文地址:http://www.cnblogs.com/bidianqing/p/4224909.html