图片上传

这里呢我们只是给大家简单的做一个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");
}

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。