校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > asp.net(c#)開發(fā)中的文件上傳組件uploadify的使用方法(帶進度條)

asp.net(c#)開發(fā)中的文件上傳組件uploadify的使用方法(帶進度條)

熱門標簽:淘寶地圖標注如何做 保山電話外呼管理系統(tǒng)怎么用 電話機器人廣告話術(shù) 外呼系統(tǒng)用員工身份證 太原外呼電銷機器人費用 使用智能電話機器人違法嗎 蘇州銷售外呼系統(tǒng)預算 東莞語音電銷機器人排名 朝陽市地圖標注

在Web開發(fā)中,有很多可以上傳的組件模塊,利用HTML的File控件的上傳也是一種辦法,不過這種方式,需要處理的細節(jié)比較多,而且只能支持單文件的操作。在目前Web開發(fā)中用的比較多的,可能uploadify(參考http://www.uploadify.com/)也算一個吧,不過這個版本一直在變化,他們的腳本調(diào)用也有很大的不同,甚至調(diào)用及參數(shù)都一直在變化,很早的時候,那個Flash的按鈕文字還沒法變化,本篇隨筆主要根據(jù)項目實際,介紹一下3.1版本的uploadify的控件使用,這版本目前還是最新的,因此對我們做Web開發(fā)來說,有一定的參考性。

這個控件有很多參數(shù)控制,以及事件的處理響應,相對來說也比較好用。參數(shù)控制可以控制上傳文件多選、文件類型、文件大小、文件數(shù)量、檢查文件是否存在,以及一些按鈕參數(shù)的控制,如文字、高度、寬度等,對提交文件成功與否、完成操作、取消、停止上傳等等都有控制,他們的幫助文檔也寫得比較完善,不過就是各個版本的方法參數(shù)完全不同了,但控件是一個好控件。

控件的使用首先要加入必備的腳本類庫,由于該控件是利用了Jquery的功能,因此還需要應用Jquery腳本文件,如下所示。

復制代碼 代碼如下:

    script src="https://www.jb51.net/JQuery/jquery-1.8.0.min.js" type="text/javascript">/script>
    script src="https://www.jb51.net/JQueryTools/uploadify/jquery.uploadify-3.1.min.js" type="text/javascript">/script>
    link rel="stylesheet" type="text/css" />

配置控件的一些參數(shù),以及相應的處理事件,如下所示。

復制代碼 代碼如下:

script language="javascript" type="text/javascript">
        $(function () {
            var guid = '%=Request["guid"] %>';
            var type = '%=Request["type"] %>';
            if (guid == null || guid == "") {
                guid = newGuid();
            }
            if (type != null) {
                type = type + '/';
            }

            $('#file_upload').uploadify({
                'swf': 'uploadify.swf',                        //FLash文件路徑
                'buttonText': '瀏  覽',                        //按鈕文本
                'uploader': 'uploadhandler.ashx?guid=' + guid, //處理ASHX頁面
                'formData' : { 'folder' : 'picture' },         //傳參數(shù)
                'queueID': 'fileQueue',                        //隊列的ID
                'queueSizeLimit': 10,                           //隊列最多可上傳文件數(shù)量,默認為999
                'auto': false,                                 //選擇文件后是否自動上傳,默認為true
                'multi': true,                                 //是否為多選,默認為true
                'removeCompleted': true,                       //是否完成后移除序列,默認為true
                'fileSizeLimit': '10MB',                       //單個文件大小,0為無限制,可接受KB,MB,GB等單位的字符串值
                'fileTypeDesc': 'Image Files',                 //文件描述
                'fileTypeExts': '*.gif; *.jpg; *.png; *.bmp',  //上傳的文件后綴過濾器
                'onQueueComplete': function (event, data) {    //所有隊列完成后事件
                    //ShowUpFiles(guid, type, show_div);
                    alert("上傳完畢!");
                },
                'onUploadError': function (event, queueId, fileObj, errorObj) {
                    alert(errorObj.type + ":" + errorObj.info);
                }
            });
        });

        function newGuid() {
            var guid = "";
            for (var i = 1; i = 32; i++){
              var n = Math.floor(Math.random()*16.0).toString(16);
              guid +=   n;
              if((i==8)||(i==12)||(i==16)||(i==20))
                guid += "-";
            }
            return guid;
        }
    /script>

再次提一下,這個控件不要參考網(wǎng)上其他的一些說明,否則可能參數(shù)及用法不正確,一定要找到對應版本的說明(本篇指的是3.1.1),最好參考該版本的在線文檔。

上面的參數(shù),我基本上都給了注釋了,還有一些不是很重要的參數(shù),這里沒有列出來,需要可以參考在線文檔吧。

值得提到的是,這個版本可以修改Flash里面的文字,非常棒,很討厭以前的那個默認Browse的英文,雖然以前替代圖片可以修改文字,但是還是不太好用。這個直接修改文字,非常好。

值得注意的是uploader參數(shù),這個是我們ashx的后臺處理程序,就是控件提交文件給那個頁面進行保存處理,添加數(shù)據(jù)庫記錄等操作。




頁面代碼使用很簡單,如下所示

復制代碼 代碼如下:

body style="margin-left:10px; margin-top:10px">
    form id="form1" runat="server"  enctype="multipart/form-data">
    div id="fileQueue" class="fileQueue">/div>

    div>
    input type="file" name="file_upload" id="file_upload" />
        p>
            input type="button" class="shortbutton" id="btnUpload" onclick="javascript:$('#file_upload').uploadify('upload','*')" value="上傳" />
            nbsp;nbsp;nbsp;nbsp;
            input type="button" class="shortbutton" id="btnCancelUpload" onclick="javascript:$('#file_upload').uploadify('cancel')" value="取消" />
        /p>
        div id="div_show_files">/div>
    /div>
    /form>
/body>


關(guān)鍵是后臺上傳文件的保存操作了,asp.net一般采用ashx的處理頁面來處理。
復制代碼 代碼如下:

/// summary>
    /// 文件上傳后臺處理頁面
    /// /summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    public class UploadHandler : IHttpHandler
    {
        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            context.Response.Charset = "utf-8";

            try
            {
                string guid = context.Request.QueryString["guid"];
                string folder = context.Request["folder"];
                //LogTextHelper.Info(folder);

                HttpPostedFile file = context.Request.Files["Filedata"];
                if (file != null)
                {                   
                    string oldFileName = file.FileName;//原文件名                   
                    int size = file.ContentLength;//附件大小

                    string extenstion = oldFileName.Substring(oldFileName.LastIndexOf(".") + 1);//后綴名                   
                    string newFileName = GetNewFileName(oldFileName);//生成新文件名
                    //LogTextHelper.Info(newFileName);

                    #region 上傳到遠程服務器
                    //FileServerManage fsw = new FileServerManage();
                    //string uploadFilePath = "/" + newFileName;
                    //if (!string.IsNullOrEmpty(folder))
                    //{
                    //    uploadFilePath = string.Format("/{0}/{1}", folder, newFileName);
                    //}
                    //bool uploaded = fsw.UploadFile(file.InputStream, "/" + folder + "/" + newFileName);
                    #endregion

                    #region 本地服務器上傳

                    AppConfig config = new AppConfig();
                    string uploadFiles = config.AppConfigGet("uploadFiles");
                    if (string.IsNullOrEmpty(uploadFiles))
                    {
                        uploadFiles = "uploadFiles";
                    }
                    if (!string.IsNullOrEmpty(folder))
                    {
                        uploadFiles = Path.Combine(uploadFiles, folder);
                    }

                    string uploadPath = Path.Combine(HttpContext.Current.Server.MapPath("/"), uploadFiles);
                    if (!Directory.Exists(uploadPath))
                    {
                        Directory.CreateDirectory(uploadPath);
                    }
                    string newFilePath = Path.Combine(uploadPath, newFileName);
                    LogTextHelper.Info(newFilePath);
                    file.SaveAs(newFilePath);
                    bool uploaded = File.Exists(newFilePath);

                    #endregion

                    if (uploaded)
                    {
                        #region 文件保存成功后,寫入附件的數(shù)據(jù)庫記錄
                        //AttachmentInfo attachmentInfo = new AttachmentInfo();
                        //attachmentInfo.EditorTime = DateTime.Now;
                        //attachmentInfo.FileExtend = extenstion;
                        //attachmentInfo.FileName = folader + "/" + newFileName;
                        //attachmentInfo.OldFileName = oldFileName;
                        //attachmentInfo.Size = size;
                        //attachmentInfo.Guid = guid;
                        //BLLFactoryAttachment>.Instance.Insert(attachmentInfo);
                        #endregion
                    }
                }
                else
                {
                    LogTextHelper.Error("上傳文件失敗");
                }
            }
            catch (Exception ex)
            {
                LogTextHelper.Error("上傳文件失敗", ex);
                throw;
            }
        }

        /// summary>
        /// 獲取新的名稱 比如:aa.jpg轉(zhuǎn)化為aa(20090504).jpg
        /// /summary>
        /// param name="fileName">文件名稱[aa.jpg]/param>
        /// returns>新的文件名稱/returns>
        public static string GetNewFileName(string fileName)
        {
            if (string.IsNullOrEmpty(fileName))
                return string.Empty;

            //文件后綴名
            string extenstion = fileName.Substring(fileName.LastIndexOf(".") + 1);
            string name = fileName.Substring(0, fileName.LastIndexOf(".")) + "(" + DateTime.Now.ToFileTime() + ")";
            string newFileName = name + "." + extenstion;
            return newFileName;
        }

        public bool IsReusable
        {
            get
            {
                return false;
            }
        }
    }



您可能感興趣的文章:
  • c#進度條 progressBar 使用方法的小例子
  • C#實現(xiàn)炫酷啟動圖-動態(tài)進度條效果
  • C# Oracle批量插入數(shù)據(jù)進度條的實現(xiàn)代碼
  • C#自定義音樂播放器進度條
  • C#實現(xiàn)帶百分比的進度條功能示例
  • C#實現(xiàn)帶進度條的ListView
  • C# Winform下載文件并顯示進度條的實現(xiàn)代碼
  • c#根據(jù)文件大小顯示文件復制進度條實例
  • C#中常使用進度條的代碼
  • c# 實現(xiàn)圓形的進度條(ProgressBar)

標簽:潛江 呼倫貝爾 洛陽 阿里 克拉瑪依 運城 綏化 西藏

巨人網(wǎng)絡通訊聲明:本文標題《asp.net(c#)開發(fā)中的文件上傳組件uploadify的使用方法(帶進度條)》,本文關(guān)鍵詞  asp.net,開發(fā),中的,文件,上傳,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《asp.net(c#)開發(fā)中的文件上傳組件uploadify的使用方法(帶進度條)》相關(guān)的同類信息!
  • 本頁收集關(guān)于asp.net(c#)開發(fā)中的文件上傳組件uploadify的使用方法(帶進度條)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    91精品午夜视频| 欧美精品18+| 亚洲欧美日韩国产另类专区| 欧美在线影院一区二区| 日本少妇一区二区| 久久久久久免费| 色94色欧美sute亚洲线路一久| 亚洲成人777| 国产精品欧美一区喷水| 欧美日韩高清影院| 国产成人午夜视频| 丝袜美腿亚洲综合| 1024国产精品| 日韩午夜精品电影| 91年精品国产| 激情图片小说一区| 亚洲在线免费播放| 国产区在线观看成人精品 | 欧美午夜精品理论片a级按摩| 免费不卡在线视频| 亚洲自拍欧美精品| 日本一区二区成人| 精品国产91亚洲一区二区三区婷婷| 91美女精品福利| 国产99精品在线观看| 奇米一区二区三区| 中文子幕无线码一区tr| 91在线观看下载| 国产大片一区二区| 日本欧美肥老太交大片| 樱桃国产成人精品视频| 欧美丰满美乳xxx高潮www| 大陆成人av片| 日本在线不卡一区| 亚洲高清不卡在线观看| 亚洲日本在线天堂| 日韩一区二区三区视频在线观看| 欧美中文字幕亚洲一区二区va在线| 国产二区国产一区在线观看| 精品中文av资源站在线观看| 亚洲国产精品久久久久秋霞影院| 欧美国产一区二区| 久久久亚洲综合| 日韩女优制服丝袜电影| 欧美挠脚心视频网站| 欧美在线免费观看亚洲| 91原创在线视频| 成人动漫中文字幕| 国产91丝袜在线播放九色| 国产一区二区美女诱惑| 久久精品二区亚洲w码| 日韩精品欧美成人高清一区二区| 亚洲韩国精品一区| 亚洲自拍另类综合| 国产精品久久久久9999吃药| 国产精品久久久爽爽爽麻豆色哟哟| 7777精品伊人久久久大香线蕉的| 欧美日韩国产一级片| 欧美性受xxxx黑人xyx性爽| 在线精品亚洲一区二区不卡| 欧美综合亚洲图片综合区| 色综合天天做天天爱| 在线一区二区三区四区五区| 在线观看成人免费视频| 欧美日韩中文国产| 欧美一区二区三区视频在线观看| 在线不卡a资源高清| 欧美日韩国产美| 日韩欧美色综合| 久久精品一区二区三区不卡| 久久精品人人做| 日韩免费观看高清完整版| 久久新电视剧免费观看| 国产日本一区二区| 综合中文字幕亚洲| 亚洲与欧洲av电影| 一区二区三区在线影院| 丝袜国产日韩另类美女| 精品一区二区三区不卡| 成人午夜av电影| 欧美在线观看你懂的| 色婷婷av久久久久久久| 3d动漫精品啪啪一区二区竹菊| 欧美一级片在线观看| 欧美人妖巨大在线| 欧美日韩国产区一| 久久综合九色综合欧美就去吻| 国产精品美女久久福利网站| 亚洲精品乱码久久久久久久久 | 91麻豆精品国产自产在线| 欧美日韩高清一区二区不卡| 欧美成人综合网站| 国产精品三级在线观看| 亚洲二区在线观看| 亚洲成人免费视频| 国产精品综合二区| 91国产成人在线| 日韩亚洲欧美中文三级| 亚洲欧美自拍偷拍色图| 五月激情六月综合| 久久er99热精品一区二区| 97超碰欧美中文字幕| 欧美精品久久久久久久多人混战 | 国产精选一区二区三区 | 色欧美88888久久久久久影院| 欧美日本国产一区| 欧美经典一区二区三区| 青青草视频一区| 欧美在线播放高清精品| 国产精品国产精品国产专区不片| 五月激情综合婷婷| 欧美专区日韩专区| 亚洲欧洲精品一区二区三区| 国产一区二区三区在线观看免费 | 国产精品色噜噜| 国产一区二区三区精品欧美日韩一区二区三区 | 一区二区三区视频在线观看| 成人在线综合网站| 欧美成人综合网站| 秋霞午夜av一区二区三区| 欧美日免费三级在线| 一区二区在线观看免费| 不卡视频一二三| 欧美国产成人精品| 高清免费成人av| 久久久99免费| 国产在线播精品第三| 精品国产乱码久久久久久老虎| 免费观看30秒视频久久| 8x8x8国产精品| 日本免费新一区视频| 69p69国产精品| 日本va欧美va瓶| 欧美一区日本一区韩国一区| 丝袜亚洲精品中文字幕一区| 欧美日韩国产乱码电影| 午夜精品久久久久久久99樱桃 | 精品少妇一区二区三区日产乱码 | 亚洲青青青在线视频| 成人伦理片在线| 中文字幕一区二区三区四区不卡| 成人av电影观看| 成人免费在线视频观看| 91蜜桃网址入口| 亚洲综合网站在线观看| 欧美在线视频日韩| 午夜激情综合网| 日韩视频一区二区三区在线播放| 久久综合综合久久综合| 亚洲精品在线网站| 国产91精品一区二区麻豆亚洲| 中文字幕不卡一区| 色中色一区二区| 五月婷婷久久综合| 精品国一区二区三区| 国产成人av自拍| 日韩美女视频19| 欧美日韩精品三区| 捆绑调教一区二区三区| 中文字幕精品在线不卡| 91麻豆福利精品推荐| 午夜精品久久久| 精品国产区一区| 成人av网站免费观看| 午夜精品在线视频一区| 精品成人a区在线观看| 94-欧美-setu| 日本特黄久久久高潮| 中文字幕精品三区| 欧美视频一区在线观看| 麻豆成人在线观看| 国产精品伦理一区二区| 久久久蜜臀国产一区二区| 99久久免费视频.com| 亚洲一卡二卡三卡四卡无卡久久 | 国产一区二区三区蝌蚪| 中文字幕一区二区不卡 | 亚洲精品午夜久久久| 日韩三级在线观看| av电影在线观看不卡| 日韩成人伦理电影在线观看| 国产日韩精品一区| 欧美日韩国产一区| 成人免费毛片a| 日产国产欧美视频一区精品| 一区二区国产盗摄色噜噜| 在线成人av网站| 成人av在线观| 激情图片小说一区| 亚洲成人av一区二区三区| 欧美激情在线一区二区| 欧美一区二区视频在线观看2022| 成人精品电影在线观看| 麻豆成人久久精品二区三区小说| 亚洲精品中文字幕在线观看| 国产视频在线观看一区二区三区| 在线播放中文一区| 色伊人久久综合中文字幕| 国产99久久久久| 久久精品国产一区二区|