111111
精灵王
精灵王
  • 注册日期2010-12-08
  • 发帖数640
  • QQ
  • 火币1103枚
  • 粉丝120
  • 关注75
  • 社区明星
阅读:3765回复:0

asp.net之上传文件管理策略_asp.net技巧

楼主#
更多 发布于:2010-12-15 21:09
最近做的项目跟ASP.NET上传文件内容有关,故将代码贴出,以便网友查阅,提供解决此类问题思路:如出现所有不理解问题,请留言,及时帮你解决!

   


    

   

       

        

        

        
        

        

        

        原文件名:


       上传到服务器:

       缩略图地址:

       文件类型:

       文件大小:

       文件拓展名:

       上传日期:


           图片预览:

            

        

       

        

        
    


*******************************************************************************using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using MWO.Model.Info;
using MWO.DAL.Info;
public partial class Login : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
      
    }
    protected void ButtonUp_Click(object sender, EventArgs e)
    {
        if (FileUpload1.PostedFile.FileName != null)
        {
            try
            {
                 FileName.InnerHtml = FileUpload1.PostedFile.FileName;//GetPhotoName
                 UpDateTime.InnerHtml = DateTime.Now.ToShortDateString();//UpDateTime
                #region    SetPhotoSize
                FileLength.InnerHtml = CountSize(FileUpload1.PostedFile.ContentLength);
                 if (FileUpload1.PostedFile.ContentLength > 1024 * 1024 * 2)
                 {
                     Response.Write("alert(图片不能超过规定大小!); ");
                 }
                 else
                 {
                   #region    SetPhotoFormat
                     FileType.InnerHtml = FileUpload1.PostedFile.ContentType;
                     FileExtention.InnerHtml = System.IO.Path.GetExtension(FileUpload1.PostedFile.FileName).ToUpper();
                     string m_FileName = "www.MWO.Com-" + DateTime.Now.ToString("yyyy-MM-dd-HH-mm-ss-ffff").Replace(".", "-") + FileExtention.InnerHtml;
                     string m_sFileName = "www.MWO.Com-" + DateTime.Now.ToString("yyyy-MM-dd-HH-mm-ss-ffff").Replace(".", "-") + FileExtention.InnerHtml;
                     if (FileExtention.InnerHtml == ".JPG")
                     {
                         string m_SavePath = Server.MapPath("./photo/") + m_FileName;
                         SaveDir.InnerHtml = m_SavePath;
                  #region     SetSmallPhoto
                     this.MakeSmallImg(FileUpload1.PostedFile, this.Server.MapPath("./SPhoto/") + m_sFileName, 118, 90);
                     string m_sSavePath = this.Server.MapPath("./SPhoto/") + m_sFileName;
                     sSaveDir.InnerHtml = m_sSavePath;
                   #endregion
                        FileUpload1.PostedFile.SaveAs(m_SavePath);
                         Response.Write("alert(图片文件保存成功!); ");
                 #region  SaveDataBasee
                         PhotoInfo m_PInfo = new PhotoInfo();
                         m_PInfo.Organization = "5173";
                         m_PInfo.PicName = FileName.InnerHtml;
                         m_PInfo.ServerName = "GLSDB";
                         m_PInfo.Cdate = DateTime.Now;
                         m_PInfo.Exp = FileExtention.InnerHtml;
                         m_PInfo.Flag = 0;
                         m_PInfo.GameNickName = "Bruce";//TextBox控件内容
                         m_PInfo.MoonStar = 0;
                         m_PInfo.ShowIndex = 0;
                         m_PInfo.SPicHttpAddr = m_sSavePath;
                         m_PInfo.Type = 0;
                         m_PInfo.Vote = 0;
                         m_PInfo.PicHttpAddr=m_SavePath;
                        PhotoDAO m_PDao = new PhotoDAO();
                         m_PDao.Insert(m_PInfo);
                         #endregion
                     }
                     else
                     {
                         Response.Write("alert(图片格式不正确,请选择图片文件!); ");
                     }
                     #endregion                  
                 }
        #endregion
        }
        catch (Exception m_Ex)
            {
                Response .Write ("alert("+m_Ex.ToString ()+"); ");
            }
        }
        else if (FileUpload1.PostedFile.FileName == "")
        {
            Response.Write("alert(上传文件不能为空!); ");
        }
    }
   #region
    ///
    /// 计算文件大小函数,Size为字节大小
    ///
    /// 初始文件大小
    ///
    public string CountSize(long Size)
    {
        string m_strSize = "";
        long FactSize = 0; FactSize = Size;
        if (FactSize <= 1024)
            m_strSize = FactSize.ToString() + "Byte";
        if(FactSize>=1024;;FactSize<=1048576)
        m_strSize=(FactSize/1024).ToString ()+"K";
        if (FactSize >= 1048576 ;; FactSize <= 10485760)
        m_strSize = (FactSize / 1024 / 1024).ToString() + "M";
        return m_strSize;
    }
    #endregion
   #region    SaveSmallPhoto
    ///
    /// 高清晰缩略图算法
    ///
    /// 图片文件对象
    /// 要保存为缩略图的源文件
    /// 宽度
    /// 高度
    public void MakeSmallImg(System.Web.HttpPostedFile postFile, string saveImg, System.Double Width, System.Double Height)
    {

       //SourcePhotoName
        string m_OriginalFilename = postFile.FileName;
        string m_strGoodFile = saveImg;

       //GetPhotoObject From SourceFile
        System.Drawing.Image m_Image = System.Drawing.Image.FromStream(postFile.InputStream, true);

       System.Double NewWidth, NewHeight;
        if (m_Image.Width > m_Image.Height)
        {
            NewWidth = Width;
            NewHeight = m_Image.Height * (NewWidth / m_Image.Width);
        }
        else
        {
            NewHeight = Height;
            NewWidth = (NewHeight / m_Image.Height) * m_Image.Width;
        }

       if (NewWidth > Width)
        {
            NewWidth = Width;
        }
        if (NewHeight > Height)
        {
            NewHeight = Height;
        }

       //GetPhotoSize
        System.Drawing.Size size =new System.Drawing.Size((int)NewWidth, (int)NewHeight);
        //The New of Bimp Photo
        System.Drawing.Image bitmap = new System.Drawing.Bitmap(size.Width, size.Height);
        // The New of Palette
        System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(bitmap);
        // Set HightQuality Arithmetic For Graphics
        g.interpolationMode = System.Drawing.Drawing2D.InterpolationMode.High;
        //设置高质量,低速度呈现平滑程度
        g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
        //ClearCanvas
        g.Clear(System.Drawing.Color.White);
        //在指定位置画图
        g.DrawImage(m_Image, new System.Drawing.Rectangle(0, 0, bitmap.Width, bitmap.Height),
        new System.Drawing.Rectangle(0, 0, m_Image.Width, m_Image.Height),
        System.Drawing.GraphicsUnit.Pixel);

       //SavePhoto Of HightFocus
        bitmap.Save(m_strGoodFile, System.Drawing.Imaging.ImageFormat.Jpeg);
        //DisposeRes
        g.Dispose();
        m_Image.Dispose();
        bitmap.Dispose();
    }

   #endregion
}


喜欢0 评分0
游客

返回顶部