ASP.NET ASHX 简单的实现上传文件

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace WebApplication3
{
    /// <summary>
    /// upload 的摘要说明
    /// </summary>
    public class upload : IHttpHandler
    {
        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            //判断文件数量是否大于零
            if (context.Request.Files.Count > 0)
            {
                if (!System.IO.Directory.Exists(context.Server.MapPath("Uploads/")))
                {
                    System.IO.Directory.CreateDirectory(context.Server.MapPath("Uploads/"));
                }
                for (int i = 0; i < context.Request.Files.Count; i++)
                {
                    //这里是上传单个文件,所以取到上传文件数组第一个文件对象
                    HttpPostedFile file = context.Request.Files[i];
                    //判断文件路径是否为空
                    if (!string.IsNullOrEmpty(file.FileName))
                    {
                        //获取文件的拓展名
                        string extention = System.IO.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");
                    }
                }
                   
            }
        }
        public bool IsReusable
        {
            get
            {
                return false;
            }
        }
    }
}


知识共享许可协议
《ASP.NET ASHX 简单的实现上传文件》常伟华 创作。
采用 知识共享 署名-相同方式共享 3.0 中国大陆 许可协议进行许可。
相邻依据:发表时间
  • 多说评论
  • 签名
  • 新浪微博
  • 默认评论
  • Tab Header 5

0 条评论 / 点击此处发表评论

Tab Content 5

开发技术


开发平台和工具

sitemap     161.36ms