现在的位置: 首页 > 综合 > 正文

上传图片时重写图片的大小

2013年10月24日 ⁄ 综合 ⁄ 共 2412字 ⁄ 字号 评论关闭

在上传按钮里写的方法:

protected void Button1_Click(object sender, EventArgs e)
    {
        try
            {
               
                string imgpath = Server.MapPath("~/image");//获取图片文件夹的路径
                Random rd = new System.Random();
               string fileFoldUrl;
             string filepath;
             string filename;
                         if (FileUpload1.PostedFile.FileName != "")
                {
                  
                    filename = DateTime.Now.Year.ToString() + DateTime.Now.Month + DateTime.Now.Day + DateTime.Now.Hour + DateTime.Now.Minute + DateTime.Now.Second+".jpg";//重新给图片写个名字
                    fileFoldUrl = Server.MapPath("~/image/");
                    filepath = Server.MapPath("~/image/") + filename;
                    FileUpload1.PostedFile.SaveAs(filepath);//保存图片
                    update_picture(fileFoldUrl, filename, filepath, 60, 60);//调下面重写图片大小的方法   
                }
               

            }
            catch {
            }

 

       

    }
    /// <summary>
    /// 修改指定图片的分辨率的方法 
    /// </summary> 
    /// <param name="fileFoldUrl">文件夹url </param> 
    /// <param name="fileName">文件名 </param> 
    /// <param name="filePath">文件路径,带文件名 </param> 
    /// <param name="_width">分辨率的宽 </param> 
    /// <param name="_height">分辨率的高 </param> 
    public void update_picture(string fileFoldUrl, string fileName, string filePath, int _width, int _height)
    {
        byte[] zp = this.load_pictMemory(filePath);

        MemoryStream ms = new MemoryStream(zp);

        System.Drawing.Image img = System.Drawing.Image.FromStream(ms);

        Bitmap btp = new Bitmap(img, _width, _height);

        DirectoryInfo dti = new DirectoryInfo(fileFoldUrl);

        FileInfo[] fis = dti.GetFiles();

        string fileUrl = fileFoldUrl + fileName;

        btp.Save(fileUrl);
    }

    /// <summary> 
    /// 获取指定文件流的字节大小 
    /// </summary> 
    /// <param name="filePath">文件路径 </param> 
    /// <returns>byte[] </returns> 
    public byte[] load_pictMemory(string filePath)
    {
        byte[] pictData = null;

        FileInfo fi = new FileInfo(filePath);

        if (fi.Exists)
        {
            pictData = new byte[fi.Length];

            FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.ReadWrite);

            BinaryReader br = new BinaryReader(fs);

            br.Read(pictData, 0, Convert.ToInt32(fi.Length));

            fs.Dispose();
        }
        else
        {
            HttpContext.Current.Response.Write(" <script language='javascript'>alert('没有找到你所指定的图片') </script>");
        }
        return pictData;
    }

 

//--------------------------------------------------------上面的代码可以直接用

抱歉!评论已关闭.