文件上传

在显示页面使用表单POST传送数据

		<form action="TestUpload.ashx"  method="post" enctype="multipart/form-data">
		<input type="file" name="fUplod" /><input type="submit" value="上传" />
		<span id="msgUpload"></span>
		</form>

 在一般处理程序中设置文件传送

View Code
 1  public void ProcessRequest(HttpContext context)
 2                 {
 3                     context.Response.ContentType = "text/plain";
 4                     //可上传的文件类型
 5                     string[] strExt = { "image/jpeg", "image/pjpeg", "jpeg", "jif" };
 6                     List<string> listExt = new List<string>(strExt);
 7                     //可上传的最大大小
 8                     int maxFile = 1024 * 200;  //200Kb
 9                     //获取上传的文件
10                     HttpFileCollection files = context.Request.Files;
11 
12                     if (files.Count > 0)
13                     {
14                         //源文件路径
15                         string Sfile = files[0].FileName;
16 
17                         if (!string.IsNullOrEmpty(Sfile))
18                         {
19                             //文件扩展名
20                             string ext = Path.GetExtension(Sfile);
21                             if (listExt.Contains(files[0].ContentType))
22                             {
23                                 if (files[0].ContentLength < maxFile)
24                                 {
25                                     //随机获取文件名
26                                     Random ra = new Random();
27                                     string fileName = DateTime.Now.ToString("yyyyMMddhhmmss") + ra.Next(1000, 10000) + ext;
28                                     //上传
29                                     string strPath = context.Request.MapPath("Upload/" + fileName);
30                                     files[0].SaveAs(strPath);
31                                     context.Response.Write("文件上传成功!");
32                                 }
33                                 else
34                                 {
35                                     context.Response.Write("文件大小超过要求!");
36                                 }
37                             }
38                             else
39                             {
40                                 context.Response.Write("不允许上传该类型的文件!");
41                             }
42                         }
43                     }
44                     else
45                     {
46                         context.Response.Write("没有上传文件");
47                     }
48                 }

 

 

在web.config中设置文件传送的最大限制

 <system.web>
      <!--单位是Kb-->
      <httpRuntime maxRequestLength="200"/>

 

 

posted @ 2012-08-16 19:25  hello*boy  阅读(315)  评论(0编辑  收藏  举报