图片上传(imageupload)

         ImageUpload.html

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title>
    <script src="../Scripts/jquery-1.7.1.js"></script>
    <script type="text/javascript">
        $(function () {
            $(":file").change(function () {
                var fileName = $(this).val();
                var ext = fileName.substr(fileName.lastIndexOf('.'));
                if (ext == ".jpeg" || ext == ".jpg" || ext == ".png" || ext == ".gif") {
                    return true;
                } else {
                    $(this).val("");
                }
            });
        });
    </script>
</head>
<body>
    <form method="POST" enctype="multipart/form-data" action="ImageUpload.ashx">
        <input type="file" name="imgFile" />
        <input type="submit" value="上传" />
    </form>
</body>
</html>

          ImageUpload.ashx

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Web;

namespace WebDemo.Web.FileUpload
{
    /// <summary>
    /// ImageUpload 的摘要说明
    /// </summary>
    public class ImageUpload : IHttpHandler
    {
        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/html";
            HttpPostedFile file = context.Request.Files["imgFile"];
            //后台也要校验。
            string ext = Path.GetExtension(file.FileName);
            if (!(ext == ".jpeg" || ext == ".jpg" || ext == ".png" || ext == ".gif"))
            {
                context.Response.End();
            }
            else
            {
                string path = "/Upload/" + Guid.NewGuid().ToString() + file.FileName;
                file.SaveAs(context.Request.MapPath(path));
                string str = string.Format("<html><head></head><body><img  src='{0}'/></body></html>", path);
                //把图片显示给用户
                context.Response.Write(str);
            }
        }
        public bool IsReusable
        {
            get
            {
                return false;
            }
        }
    }
}

Written by

说点什么

欢迎讨论

avatar

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

  Subscribe  
提醒