<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    happyfish

    BlogJava 首頁(yè) 新隨筆 聯(lián)系 聚合 管理
      38 Posts :: 1 Stories :: 62 Comments :: 0 Trackbacks
    上傳圖片并生成略縮圖
     

    參數(shù)說(shuō)明
    FileBox:上傳表單中的表單名
    SavePath:保存路徑
    ThumbnailWidth:略縮圖寬
    ThumbnailHeight:略縮圖高
    FilePath:文件保存路徑(輸出參數(shù))
    FileName:文件名稱(輸出參數(shù))
    LastError:(輸出錯(cuò)誤)
    public static bool UploadImages(System.Web.UI.HtmlControls.HtmlInputFile FileBox,string SavePath,Int32 ThumbnailWidth,Int32 ThumbnailHeight,out String FilePath,out String FileName,out string LastError)
    {
    DateTime datTime=System.DateTime.Now;
    String strTemp;
    string strFileName = FileBox.PostedFile.FileName;
    bool blnResult;
    LastError="";
    System.Drawing.Image xImage;
    System.Drawing.Bitmap xBitmap;
    int PhotoHeight,PhotoWidth;
    string BasePath=System.Web.HttpContext.Current.Server.MapPath("../");
    Rectangle NewPhoto;
    System.Drawing.Imaging.ImageFormat xObject;
    string Extension="";
    FileName="";
    FilePath="";

    try
    {
    if(strFileName=="")
    {
    LastError="請(qǐng)點(diǎn)擊瀏覽選擇要上傳的文件!";
    return false;
    }
    if(Convert.ToDecimal(FileBox.PostedFile.ContentLength)<= 2000000 &&Convert.ToDecimal(FileBox.PostedFile.ContentLength)>1500)
    {
    //查看擴(kuò)展名是否合法
    Extension=Path.GetExtension(strFileName);
    Extension=Extension.ToLower();
    if(Extension==".gif" || Extension==".jpg" || Extension==".jpeg" || Extension==".bmp")
    {
    switch(Extension)
    {
    case ".gif":
    xObject=System.Drawing.Imaging.ImageFormat.Gif;
    break;
    case ".bmp":
    xObject=System.Drawing.Imaging.ImageFormat.Bmp;
    break;
    default:
    xObject=System.Drawing.Imaging.ImageFormat.Jpeg;

    break;
    }
    }
    else
    {
    LastError="上傳的文件不是有效的圖片文件,請(qǐng)上傳格式為:.gif.jpg.bmp的文件!";
    return false;
    }
    //-----------------------------
    //生成保存的文件路徑及文件名
    //-----------------------------
    strTemp = datTime.ToShortDateString().Replace( "-", "");
    FileName = datTime.ToLongTimeString().Replace(":","")+ Extension;
    FilePath = SavePath + strTemp + "/";
    Friendlib.Function.CreateDirectory(BasePath + FilePath);
    //保存大圖
    xImage=System.Drawing.Bitmap.FromStream(FileBox.PostedFile.InputStream);

    xImage.Save(BasePath+FilePath+FileName);
    xImage.Dispose();
    //-----------------------------
    //開始生成縮略圖
    //-----------------------------
    xBitmap=new Bitmap(BasePath+FilePath+FileName);//------------------

    PhotoHeight=xBitmap.Height;
    PhotoWidth=xBitmap.Width;
    // //判斷圖片的形狀
    if(Convert.ToDecimal(PhotoHeight)/Convert.ToDecimal(PhotoWidth)>Convert.ToDecimal(ThumbnailHeight)/Convert.ToDecimal(ThumbnailWidth))//高有余
    {
    PhotoHeight=Convert.ToInt16((Convert.ToDecimal(ThumbnailHeight)/Convert.ToDecimal(ThumbnailWidth))*Convert.ToDecimal(PhotoWidth));
    NewPhoto=new Rectangle(0,0,PhotoWidth,PhotoHeight);
    }
    else if(Convert.ToDecimal(PhotoHeight)/Convert.ToDecimal(PhotoWidth)<Convert.ToDecimal(ThumbnailHeight)/Convert.ToDecimal(ThumbnailWidth))
    {
    PhotoWidth=Convert.ToInt16((Convert.ToDecimal(ThumbnailWidth)/Convert.ToDecimal(ThumbnailHeight))*Convert.ToDecimal(PhotoHeight));
    NewPhoto=new
    Rectangle(Convert.ToInt16((Convert.ToDecimal(xBitmap.Width)-Convert.ToDecimal(PhotoWidth))/2),0,PhotoWidth,PhotoHeight);
    }
    else
    {
    NewPhoto= newRectangle(0,0,PhotoWidth,PhotoHeight); < BR> }
    System.Drawing.Image myBitmap;
    myBitmap=xBitmap.Clone(NewPhoto,System.Drawing.Imaging.PixelFormat.DontCare);
    System.Drawing.Image.GetThumbnailImageAbort myCallback = new
    System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback);
    System.Drawing.Image myThumbnail =
    myBitmap.GetThumbnailImage(ThumbnailWidth,ThumbnailHeight, myCallback,
    IntPtr.Zero); myThumbnail.Save(BasePath + FilePath +"s"+FileName,xObject);
    myThumbnail.Dispose(); myBitmap.Dispose(); xBitmap.Dispose(); return true; }
    else
    {
    blnResult=false; LastError="不能上傳大于2M及小于1.5K的圖片!";
    }
    }< BR> catch (Exception ex) {
    throw new System.Exception((ex.Message + ("\r\n" + ex.StackTrace)));
    }
    return blnResult;
    }
    private static bool ThumbnailCallback() { return false; }

    posted on 2005-05-11 10:34 小魚兒 閱讀(4153) 評(píng)論(8)  編輯  收藏 所屬分類: encoding

    Feedback

    # re: 上傳圖片并生成略縮圖 2006-02-22 14:48 dddffgg
    gfhgh  回復(fù)  更多評(píng)論
      

    # http://comic.qq.com/z/wenchuan/images/poster/feel001.jpg 2006-03-16 11:51 k
    hjgkjhg  回復(fù)  更多評(píng)論
      

    # re: 上傳圖片并生成略縮圖 2006-03-16 11:51 k
    tg  回復(fù)  更多評(píng)論
      

    # re: 上傳圖片并生成略縮圖 2006-06-16 13:18 sa
    您要上傳的圖片小于5K,請(qǐng)上傳足夠尺寸和清晰度的掃描件  回復(fù)  更多評(píng)論
      

    # re: 上傳圖片并生成略縮圖 2006-10-29 10:18 WFWEWE
    @sa
    EWFEWFEWF  回復(fù)  更多評(píng)論
      

    # re: 上傳圖片并生成略縮圖 2006-11-06 03:10 愛(ài)ぁ隨★云
    didfoh
      回復(fù)  更多評(píng)論
      

    # re: 上傳圖片并生成略縮圖 2006-11-06 03:17 愛(ài)ぁ隨★云
    454  回復(fù)  更多評(píng)論
      

    # re: 上傳圖片并生成略縮圖 2007-03-14 21:00 劉套
    好好的  回復(fù)  更多評(píng)論
      

    主站蜘蛛池模板: 国产高清免费观看| 精品无码国产污污污免费网站 | 久久99国产综合精品免费| 亚洲精品无码久久久久sm| 9久热这里只有精品免费| 亚洲精品乱码久久久久久蜜桃不卡| 日日躁狠狠躁狠狠爱免费视频| 免费一级毛片清高播放| 极品美女一级毛片免费| 国产黄色一级毛片亚洲黄片大全| 一个人看的www视频免费在线观看| 国产亚洲美日韩AV中文字幕无码成人| 国产精品99爱免费视频| 久久亚洲国产成人亚| 120秒男女动态视频免费| 亚洲AV无码久久久久网站蜜桃| 国产一卡2卡3卡4卡2021免费观看 国产一卡2卡3卡4卡无卡免费视频 | 午夜免费福利在线| 污视频网站免费观看| 亚洲日韩v无码中文字幕| 日韩免费观看一区| 天天爽亚洲中文字幕| 免费一看一级毛片人| 91国内免费在线视频| 亚洲国产av美女网站| 国产精品免费_区二区三区观看| 一级毛片在线播放免费| 亚洲AV无码乱码国产麻豆| 色se01短视频永久免费| 美女羞羞免费视频网站| 亚洲av午夜成人片精品网站| 免费精品国产自产拍在| 日产久久强奸免费的看| 99人中文字幕亚洲区| 国产成人免费全部网站| 日韩精品免费在线视频| 亚洲成av人片在www鸭子| 亚洲av无码一区二区乱子伦as| 我要看免费的毛片| 免费精品99久久国产综合精品| 亚洲精华液一二三产区|