<%--兼容IE7 必须放在 head 的第一行--%>
独上高楼网站
  • 使用ASP.net(C#)批量上传图片并自动生成缩略图,文字水印图,图片水印图
  •         因本网站上传图片的需要,参考很多成熟的经验,在ASP.net平台上使用C#语言,做了这一自动批量上传图片的.ASPX文件,并经调试成功,在本网站上使用,现发出来供大家参考,也希望高手多加指点。

            本程序主要功能有:

            (1)可以根据自己的需要更改上传到服务器上的目录,上传的源图、缩略图、文字水印图和图片水印图分别存入所定目录下的不同目录;

            (2)自动检查目录,如无所选择的目录,则自动创建它们;

            (3)自行设定生成缩略图的大小;

            (4)可以选择是否需要生成文字水印、图片水印,默认为不生成水印图;

            (5)可以添加、删除所需上传的图片。

            在本程序中均加了相关注释,所以直接发代码,不再多作解释。

       后台程序:

            using System;
    using System.Collections;
    using System.Configuration;
    using System.Data;
    using System.Linq;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.HtmlControls;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Xml.Linq;
    using System.IO;
    using System.Net;
    using System.Text.RegularExpressions;

    /// 〈summary>
    /// FileUpload1.HasFile  如果是true,则表示该控件有文件要上传
    /// FileUpload1.FileName  返回要上传文件的名称,不包含路径信息
    /// FileUpload1.FileContent  返回一个指向上传文件的流对象
    /// FileUpload1.PostedFile   返回已经上传文件的引用
    /// FileUpload1.PostedFile.ContentLength  返回上传文件的按字节表示的文件大小
    /// FileUpload1.PostedFile.ContentType    返回上传文件的MIME内容类型,也就是文件类型,如返回"image/jpg"
    /// FileUpload1.PostedFile.FileName       返回文件在客户端的完全路径(包括文件名全称)
    /// FileUpload1.PostedFile.InputStream    返回一个指向上传文件的流对象
    /// FileInfo对象表示磁盘或网络位置上的文件。提供文件的路径,就可以创建一个FileInfo对象:
    /// 〈/summary>

    public partial class BackManagement_ImagesUpload : System.Web.UI.Page
    {
        public string treePath = "";
        public int imageW = 100;
        public int imageH = 100;
        protected void Page_Load(object sender, EventArgs e)
        {
            this.Button5.Attributes.Add("Onclick", "window.close();"); //在本地关闭当前页,而不需要发送到服务器去关闭当前页时
            if (!Page.IsPostBack)
            {
                Label2.Text = Server.MapPath("/");
                TextBox3.Text = "ImageUpload";
                treePath = Server.MapPath("/") + TextBox3.Text.Trim() + "/";
                TextBox4.Text = imageW.ToString();
                TextBox5.Text = imageH.ToString();
            }
        }
        protected void btnload_Click(object sender, EventArgs e)
        {
            //如果保存图片的目录不存在,由创建它
            treePath = Server.MapPath("/") + TextBox3.Text.Trim() + "/";
            imageW = Convert.ToInt32(TextBox4.Text.ToString());
            imageH = Convert.ToInt32(TextBox5.Text.ToString());
            if (!File.Exists(treePath + "images"))   //如果/ImageUpload/images不存在,则创建/ImageUpload/images,用于存放源图片
            {
                System.IO.Directory.CreateDirectory(treePath + "images");
            }
            if (!File.Exists(treePath + "thumbnails"))   //如果/ImageUpload/thumbnails不存在,则创建/ImageUpload/thumbnails,用于存放缩略图片
            {
                System.IO.Directory.CreateDirectory(treePath + "thumbnails");
            }
            if (!File.Exists(treePath + "textImages"))   //如果/ImageUpload/textImages不存在,则创建/ImageUpload/textImages,用于存文字水印图片
            {
                System.IO.Directory.CreateDirectory(treePath + "textImages");
            }
            if (!File.Exists(treePath + "waterImages"))   //如果/ImageUpload/waterImages不存在,则创建/ImageUpload/waterImages,用于存图形水印图片
            {
                System.IO.Directory.CreateDirectory(treePath + "waterImages");
            }

            if (FileUpload1.HasFile)   //如果是true,则表示该控件有文件要上传
            {
                string fileContentType = FileUpload1.PostedFile.ContentType;
                if (fileContentType == "image/bmp" || fileContentType == "image/gif" || fileContentType == "image/pjpeg")
                {
                    string name = FileUpload1.PostedFile.FileName;                         //返回文件在客户端的完全路径(包括文件名全称)

                    FileInfo file = new FileInfo(name);                                    //FileInfo对象表示磁盘或网络位置上的文件。提供文件的路径,就可以创建一个FileInfo对象:
                    string fileName = file.Name;                                           // 文件名称
                    string fileName_s = "x_" + file.Name;                                  // 缩略图文件名称
     &n

  • 与本文主题相关的文章