码迷,mamicode.com
首页 > Web开发 > 详细

图片上传

时间:2015-01-14 22:43:38      阅读:246      评论:0      收藏:0      [点我收藏+]

标签:

这里呢我们只是给大家简单的做一个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>
FileUpload.html

注意:在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;
            }
        }
    }
}
FileUp.ashx

注意:我们的图片都上传到网站的根目录下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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!