国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

使用SWFUpload無刷新上傳圖片

2019-11-17 02:04:58
字體:
來源:轉載
供稿:網友

使用SWFUpload無刷新上傳圖片

使用SWFUpload組件無刷新上傳圖片

在做項目時,需要用到一個圖片的無刷新上傳,之前聽說過SWFUpload,于是想要通過SWFUpload來進行圖片的無刷新上傳,由于我的項目屬于是asp.net項目,所以本文著重講解ASP.NET 的使用,個人感覺示例基本給的很清晰,參考文檔進行開發,并非難事

0. 首先下載swfUpload 包,在下載的包中有samples文件夾,samples下有demos文件夾,打開demos文件夾可看到如下圖所示結構

我們待會會用到的包括,swfupload目錄下的文件,CSS不建議使用以避免與自己寫的CSS相沖突使得頁面布局完全亂掉,如果要添加樣式最好自己寫

打開 applicationdemo.net目錄會看到這樣的結構

打開index.html可以看到這樣的頁面

點擊NET2.0下的Application Demo C#項

  1. 添加資源引用

將要引用的資源包含到項目中(包括swfupload文件夾下的文件與,demo下的資源文件,handlers.js是在demo中js目錄下的js文件)

  1. 首先熟悉demo,將demo中的頁面包含到項目中

    在Defaut.aspx頁面中使用swfUpload組件進行圖片的無刷新上傳直接運行,看效果,大概了解基本過程

  2. 修改handlers.js文件

    我的項目文件結構大概是這樣的

    我的處理文件上傳的頁面是ImageUploadHandler.ashx,獲取縮略圖的頁面是GetThumbHandler.ashx,Thumbnail.cs是demo中App_Code文件夾中的文件,個人覺得像這種只處理邏輯功能而不展現頁面的最好都用一般處理程序來實現。由于哪個文件處理上傳哪個文件生成縮略圖已經在handlers.js文件中寫死了,所以必須要修改handlers.js文件以能夠使頁面正常運行

  3. 最終修改版匯總

     1 /// <summary> 2 /// 縮略圖 3 /// </summary> 4 public class Thumbnail 5 { 6     public Thumbnail(string id, byte[] data) 7     { 8         this.ID = id; 9         this.Data = data;10     }11 12     PRivate string id;13 14     /// <summary>15     /// 圖片id16     /// </summary>17     public string ID18     {19         get20         {21             return this.id;22         }23         set24         {25             this.id = value;26         }27     }28 29     private byte[] thumbnail_data;30 31     /// <summary>32     /// 圖片的二進制數據33     /// </summary>34     public byte[] Data35     {36         get37         {38             return this.thumbnail_data;39         }40         set41         {42             this.thumbnail_data = value;43         }44     }45 46     private string contentType;47 48     /// <summary>49     /// 圖片對應的MIME類型50     /// </summary>51     public string ContentType52     {53         get54         {55             return contentType;56         }57 58         set59         {60             contentType = value;61         }62     }63 }
    Thumbnail
    <!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head>    <title>Upload Images</title>    <script src="swfupload/swfupload.js"></script>    <script src="swfupload/handlers.js"></script>    <script>        //注:div的id名稱最好不要改,要改的話在handlers.js文件中也要進行修改,div的名稱已經在handlers.js文件中寫死        var swfu;        window.onload = function () {            swfu = new SWFUpload({                // 后臺設置,設置處理上傳的頁面                upload_url: "/Handlers/ImageUploadHandler.ashx",                // 文件上傳大小限制設置                file_size_limit: "3 MB",                //文件類型設置,多種格式以英文中的分號分開                file_types: "*.jpg;*.png",                //文件描述,與彈出的選擇文件對話框相關                file_types_description : "Images file",                //設置上傳文件數量限制                file_upload_limit: "1",                //事件處理程序,最好不要改,事件處理程序已在handlers.js文件中定義                // Event Handler Settings - these functions as defined in Handlers.js                //  The handlers are not part of SWFUpload but are part of my website and control how                //  my website reacts to the SWFUpload events.                file_queue_error_handler : fileQueueError,                file_dialog_complete_handler : fileDialogComplete,                upload_progress_handler : uploadProgress,                upload_error_handler : uploadError,                upload_success_handler : uploadSuccess,                upload_complete_handler : uploadComplete,                // 上傳按鈕設置                button_image_url : "/swfupload/images/XPButtonNoText_160x22.png",                button_placeholder_id: "spanButtonPlaceholder",                button_width: 160,                button_height: 22,                button_text : '請選擇圖片 (最大3M)',                button_text_style : '.button { font-family: Helvetica, Arial, sans-serif; font-size: 14pt; } .buttonSmall { font-size: 10pt; }',                button_text_top_padding: 1,                button_text_left_padding: 5,                // swfupload.swf Flash設置                flash_url : "/swfupload/swfupload.swf",                    //自定義的其他設置                custom_settings : {                    upload_target: "divFileProgressContainer"                },                // 是否開啟調試模式,調試時可以設置為true,發布時設置為false                debug: false            });        }    </script></head><body>    <form id="form1">        <div id="content">                <h2>Upload Images Demo</h2>                <div id="swfu_container" style="margin: 0px 10px;">            <div>                <span id="spanButtonPlaceholder"></span>            </div>            <div id="divFileProgressContainer" style="height: 75px;"></div>            <div id="thumbnails"></div>        </div>        </div>    </form></body></html>
    Html Demo
      1     /// <summary>  2     /// 圖片上傳處理  3     /// </summary>  4     public class ImageUploadHandler : IHttpHandler, IRequiressessionState  5     {  6         /// <summary>  7         /// 記錄日志 logger  8         /// </summary>  9         private static Common.LogHelper logger = new Common.LogHelper(typeof(ImageUploadHandler)); 10         public void ProcessRequest(HttpContext context) 11         { 12             context.Response.ContentType = "text/plain"; 13             System.Drawing.Image thumbnail_image = null; 14             System.Drawing.Image original_image = null; 15             System.Drawing.Bitmap final_image = null; 16             System.Drawing.Graphics graphic = null; 17             MemoryStream ms = null; 18             try 19             { 20                 //驗證用戶是否登錄,是否有權限上傳 21                 if (context.Session["User"]==null) 22
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 岳阳县| 南安市| 喀什市| 毕节市| 卓尼县| 邹城市| 铁岭县| 行唐县| 阿合奇县| 鹿邑县| 淅川县| 江口县| 修文县| 金平| 庄浪县| 临沧市| 九龙坡区| 林州市| 临西县| 阿鲁科尔沁旗| 康马县| 嵊州市| 合川市| 盐边县| 吐鲁番市| 枣强县| 亳州市| 汪清县| 瓦房店市| 梅河口市| 常州市| 扎兰屯市| 温宿县| 镇远县| 苏尼特右旗| 金塔县| 巫溪县| 屏南县| 庆安县| 皋兰县| 夏河县|