好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > Asp.Net的FileUpload類實現上傳文件實例

Asp.Net的FileUpload類實現上傳文件實例

熱門標簽:太原400電話上門辦理 浦發電話機器人提醒還款 百度地圖怎樣做地圖標注 柳州電銷機器人公司 騰訊地圖標注手機 征途美甲店地圖標注 電銷語音機器人型號參數 400電話如何申請取消 昆明語音電銷機器人價格

本文實例講述了Asp.Net的FileUpload類實現上傳文件的方法。分享給大家供大家參考。

具體功能代碼如下:

復制代碼 代碼如下:
using System;
using System.Collections.Generic;
using System.Text;
using System.Web.UI;
using System.Web;
using System.Web.UI.WebControls;
using System.Collections;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;

namespace CSFramework.BLL
{
   /// summary>
   /// 支持上傳的文件類型
   /// /summary>
   public enum UploadFileType
   {
      ArticleAttachment = 1,
      Image = 2,
      Video = 3,
      All = 4
   }
  
   /// summary>
   /// 上傳文件管理類
   /// /summary>
   public class CFileUpload
   {
      private FileUpload _fileUpload;
      private string _savePath;
      private string _LastUploadedFile = string.Empty;
      private bool _AutoGenFileName = false;
      private bool _AutoGenWatermark = false;
      public string LastUploadedFile { get { return _LastUploadedFile; } }
      private string _Error = "";
     
      private string PICTURE_FILE = "[.gif.png.jpeg.jpg]";
      private string ZIP_FILE = "[.zip.rar]";
      private string MUILT_MEDIA_FILE = "[.mpeg.mpg.fla.wma]";
     
      private int IMG_MAX_WIDTH = 700;//指定寬度
      private int IMG_MAX_HEIGHT = 0;//未指定高度
      private int MAX_SIZE_UPLOAD = 1024;//最大支持上傳小于1MB的文件。
     
      /// summary>
      /// 構造器
      /// /summary>
      /// param name="fileUpload">Asp.net FileUpload對象/param>
      /// param name="savePath">保存目錄,不包含文件名/param>
      /// param name="autoGenFileName">自動生成文件名/param>
      public CFileUpload(FileUpload fileUpload, string savePath, bool autoGenFileName, bool autoGenWatermark)
      {
         _savePath = savePath;
         _fileUpload = fileUpload;
         _AutoGenFileName = autoGenFileName;
         _AutoGenWatermark = autoGenWatermark;
      }
     
      /// summary>
      /// 構造器
      /// /summary>
      /// param name="fileUpload">Asp.net FileUpload對象/param>
      /// param name="savePath">保存目錄,不包含文件名/param>
      public CFileUpload(FileUpload fileUpload, string savePath)
      {
         _savePath = savePath;
         _fileUpload = fileUpload;
      }
     
      /// summary>
      /// 上傳RAR文件
      /// /summary>
      public bool UploadRARFile()
      {
         return DoUpload(ZIP_FILE);
      }
     
      /// summary>
      /// 上傳視頻文件
      /// /summary>
      public bool UploadVideo()
      {
         return DoUpload(MUILT_MEDIA_FILE);
      }
     
      /// summary>
      /// 上傳圖片文件
      /// /summary>
      public bool UploadImage()
      {
         return DoUpload(PICTURE_FILE);
      }
     
      public bool UploadImage(int maxWidth, int maxHeight)
      {
         this.IMG_MAX_WIDTH = maxWidth;
         this.IMG_MAX_HEIGHT = maxHeight;
         return DoUpload(PICTURE_FILE);
      }
     
      /// summary>
      /// 上傳任何支持的文件
      /// /summary>
      public bool UploadAnySupported()
      {
         return DoUpload(PICTURE_FILE ZIP_FILE MUILT_MEDIA_FILE);
      }
     
      /// summary>
      /// 生成新的文件名
      /// /summary>
      private string GetNewFileName(string folder, string fileName)
      {
         if (_AutoGenFileName) //自動生成32位GUID文件名
         {
            string ext = System.IO.Path.GetExtension(fileName);
            string newfile = Guid.NewGuid().ToString().Replace("-", "") ext;
            return folder newfile;
         }
         else
         {
            if (System.IO.File.Exists(folder fileName))
            {
               string ext = System.IO.Path.GetExtension(fileName);
               string filebody = fileName.Replace(ext, "");
              
               int x = 1;
               while (true) //如果文件存在,生成尾部帶(x)的文件
               {
                  string newfile = folder filebody "(" x.ToString() ")" ext;
                  if (!System.IO.File.Exists(newfile))
                  return folder filebody "(" x.ToString() ")" ext;
                  else
                  x ;
               }
            }
            else
            return folder fileName;
         }
      }
     
      /// summary>
      /// 最大支持小于1MB的文件。
      /// /summary>
      private bool AllowMaxSize(int fileLength)
      {
         double kb = fileLength / 1024;
         return (int)kb MAX_SIZE_UPLOAD;
      }
     
      private bool DoUpload(string allowedExtensions)
      {
         try
         {
            bool fileOK = false;
           
            if (!_fileUpload.HasFile) throw new Exception("沒有文件!"); //上傳控件中如果不包含文件,退出
           
            // 得到文件的后綴
            string fileExtension = System.IO.Path.GetExtension(_fileUpload.FileName).ToLower();
           
            // 看包含的文件是否是被允許的文件后綴
            fileOK = allowedExtensions.IndexOf(fileExtension) > 0;
            if (!fileOK) throw new Exception("不支持的文件格式!");
           
            //檢查上傳文件大小
            fileOK = AllowMaxSize(_fileUpload.FileBytes.Length);
            if (!fileOK) throw new Exception("圖片文件不能大于" MAX_SIZE_UPLOAD.ToString() "KB!");
           
            try
            {
               // 文件另存在服務器指定目錄下
               string savefile = GetNewFileName(_savePath, _fileUpload.FileName);
              
               if (IsUploadImage(fileExtension))//保存圖片
               {
                  System.Drawing.Image output = CImageLibrary.FromBytes(_fileUpload.FileBytes);
                 
                  // 檢查圖片寬度/高度/大小
                  if (this.IMG_MAX_WIDTH != 0 output.Width > this.IMG_MAX_WIDTH)
                  {
                     output = CImageLibrary.GetOutputSizeImage(output, this.IMG_MAX_WIDTH);
                  }
                 
                  Bitmap bmp = new Bitmap(output);
                 
                  this.CreateDir(Path.GetDirectoryName(savefile));
                 
                  bmp.Save(savefile, output.RawFormat);
                  bmp.Dispose();
                  output.Dispose();
                 
                  if (_AutoGenWatermark)
                  {
                     WatermarkImage genWatermark = new WatermarkImage();
                     genWatermark.DrawWords(savefile, AppConfig.Current.WatermarkMain,
                     AppConfig.Current.WatermarkDesc, float.Parse("0.2"));
                  }
               }
               else//其它任何文件
               {
                  this.CreateDir(Path.GetDirectoryName(savefile));
                 
                  _fileUpload.PostedFile.SaveAs(savefile);
               }
              
               _LastUploadedFile = savefile;
              
               return true;
            }
            catch (Exception ex)
            {
               throw new Exception("上傳文件時發生未知錯誤!" ex.Message);
            }
         }
         catch (Exception ex)
         {
            _Error = ex.Message;
            return false;
         }
      }
     
      private void CreateDir(string dir)
      {
         if (Directory.Exists(dir) == false)
         Directory.CreateDirectory(dir);
      }
     
      private bool IsUploadImage(string fileExtension)
      {
         bool isImage = PICTURE_FILE.IndexOf(fileExtension) > 0;
         return isImage;
      }
   }
}

希望本文所述對大家的asp.net程序設計有所幫助。

您可能感興趣的文章:
  • Asp.Net修改上傳文件大小限制方法
  • Asp.net MVC中使用JQuery插件ajaxFileUpload上傳文件
  • ASP.NET插件uploadify批量上傳文件完整使用教程
  • asp.net上傳文件到數據庫的解決方案
  • asp.net中MVC借助Iframe實現無刷新上傳文件實例
  • asp.net fileupload控件上傳文件與多文件上傳
  • Asp.Net模擬表單提交數據和上傳文件的實現代碼
  • asp.net實現上傳文件顯示本地絕對路徑的實例代碼
  • 如何限制asp.net中上傳文件的大小的代碼
  • asp.net 模擬提交有文件上傳的表單(通過http模擬上傳文件)
  • 解決.net項目中上傳的圖片或者文件太大無法上傳問題

標簽:新疆 陽泉 蘭州 德陽 白山 張家界 天門 江蘇

巨人網絡通訊聲明:本文標題《Asp.Net的FileUpload類實現上傳文件實例》,本文關鍵詞  Asp.Net,的,FileUpload,類,實現,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Asp.Net的FileUpload類實現上傳文件實例》相關的同類信息!
  • 本頁收集關于Asp.Net的FileUpload類實現上傳文件實例的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 护士japaneseⅹxxx| jizz国产丝袜18老师女人| 国产寡妇婬乱一级A片在线直播APP| 在线三级影院| 淫欲网| 少妇人妻被粗大爽9797PW| 娇妻办公室被C高潮呻吟| 27报女上男下动态图gif图| 国产成人麻豆tv在线观看| 国产一级一片免费播放| 麻豆911精一区二区| 欧美精品videoss另类日本| 操操操美女| xxxx野外性xxxx| 国精产品明星ai换脸免费| 日亚无码免在不卡一区| 美国黑人毛片| 狠狠干人人插| 久久99精品久久只有精品| 2021国产麻豆剧果冻传媒APP| 美女图片131MM爽爽爽唐安琪| 九九99热| 微微一笑很倾城干贝微微乳液| 被上司侵犯| 韩国大尺度裸体做爰床戏| 女性做亲爱的过程视频| 六里庄艳俗生活| 嗯啊啊嗯| 一级A片成人片免费看快手| 国模无码大尺度一区二区三区| 色噜噜男人的天堂在线观看| 用力别停我要我受不了了视频| 男男大尺度禁片在线观看| 国产老熟女高潮毛片A片仙踪林| 《乳色吐息》未删减| 小泽玛利亚和黑人初解禁| 揉捏花心| 国产干露露在线视频mⅰm| 美女又爽?又黄?免费蘑菇| 杨幂醉酒视频1分13秒在线完整免费观看 | 在线观看h视频播放高清|