jquery upload 插件開發說明

  前言

    本實例爲初步版本的文檔說明,供學習與下載。請多多提出指導意見。css

    項目目前僅支持html5/css3,暫時只處理了上傳圖片、音頻類文件、其餘文件等。項目同時支持跨域上傳。html

  • 項目文件目錄說明

  

  • 頁面調用說明

 1 <html xmlns="http://www.w3.org/1999/xhtml">
 2 <head>
 3 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
 4     <title>這是一個簡單的上傳</title>
 5     <!-- 必須引入的js、css文件 -->
 6     <link href="../css/upload.css" rel="stylesheet" />
 7     <script src="../script/jquery-1.10.2.js"></script>
 8     <script src="../script/util.js"></script>
 9     <script src="../jquery-upload.js"></script>
10 </head>
11 <body>
12     <p style="clear: both; color: rgb(194, 61, 55); font-size: 16px">多文件,上傳圖片類文件</p>
13     <!-- 上傳組件容器 -->
14     <div id="uploadContainer" 
15          data-url="../handle/UploadHandler.ashx" 
16          data-accept="image/jpeg,image/png" 
17          data-size="2048" 
18          data-multiple="multiple" 
19          data-callback-func="testCallbackFunc" 
20          data-callback-element="testCallback" 
21          data-path="../../files/{0}">
22     </div>
23 
24     <div style="clear: both;padding-top:  20px">
25         <!-- 回寫的input元素 -->
26         <input style="width: 250px" type="text" value="" name="testCallback" />
27     </div>
28     <script>
29         //上傳成功後回調方法
30         window.testCallbackFunc = function (status) {
31             alert("回調狀態:" + status);
32         }
33     </script>
34 </body>
35 </html>
  • 組件容器參數說明

<div id="uploadContainer" ------------------------------容器id,一個頁面多個組件時id應當惟一
         data-url="../handle/UploadHandler.ashx" -------上傳處理程序
         data-accept="image/jpeg,image/png" ------------文件格式限定,注意用逗號隔開,若是爲notlimit則能夠上傳任意類型文件
         data-size="2048" ------------------------------文件最大尺寸
         data-multiple="multiple" ----------------------是否容許多選文件
         data-callback-func="testCallbackFunc" ---------上傳完成回調函數
         data-callback-element="testCallback" ----------上傳完成回寫元素
         data-path="../../files/{0}">-------------------圖片顯示路徑
</div>
  • 發送/接收文件處理程序返回數據格式

發送數據(FormData)格式爲:html5

  name:js生成的guidjquery

  file:文件流file對象css3

返回數據(Json)格式:跨域

  

其中FormKey爲發送數據的表單name,處理完成後必須回傳給jsdom

  • 支持跨域

div中加入標籤: data-cross-domain="true"便可實現跨域上傳,但需在函數

jquery-upload.js中配置跨域的子域名,以下圖:post

receive文件爲消息接收與文件上傳地址.採用h5的postMessage做爲跨域的消息通訊(注意即使postMessage能夠進行各種甚至大量數據的傳輸。可是不支持文件流的傳輸)。學習

因此針對此類限制,將上傳插件修改成server版。將server版與client端配合進行文件上傳操做。

以下圖子域配置:

全文結束

相關文章
相關標籤/搜索