麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > JavaScript > 正文

詳解jquery uploadify 上傳文件

2019-11-20 21:45:02
字體:
來源:轉載
供稿:網友

網上找了一天,大家都說Uploadify唯一的缺點就是不支持中文按鈕,杯具之前,我看了下Uploadify的API,才發現了幾個參數沒被大家提及的,這正是解決此問題的關鍵。(以后堅決養成沒事就看API的習慣)
    Uploadify有一個參數是 buttonText 這個無論你怎么改都不支持中文,因為插件在js里用了一個轉碼方法把這個參數的值轉過碼了,解碼的地方在那個swf文件里,看不到代碼,所以這條路不行。
    另一個參數,網上很少提到,是 buttonImg( 按鈕圖片),這時你完全可以用一個圖片來替換掉插件自帶的那個黑色的flash瀏覽按鈕,只要你自己的圖片上是中文,這不就解決了中文按鈕問題么?如果只加這一個,你會發現你的按鈕圖片下面有一片白色區域,其實就是那個flash留下的,白色區域表示鼠標可用范圍,這個范圍可以用width,height來調整。還有一個參數wmode 它的默認值是opaque,把它改成transparent就行了,也就是把那片白色區域透明化。再用剛才說的方法,把按鍵點擊范圍設置成跟你圖片一樣大就完全OK了。

    Uploadify的用法就不說了,網上文章很多,跟別的jquery插件用法一樣,就是幾種文件的擺放路徑而已。
    以下附上Uploadify部分參數的介紹,要看全部的就去看其API文件了,一般在下載的包里都有。

uploader:uploadify.swf 文件的相對路徑,該swf文件是一個帶有文字BROWSE的按鈕,點擊后彈出打開文件對話框,默認值:uploadify.swf。
script :后臺處理程序的相對路徑。默認值:uploadify.php
checkScript:用來判斷上傳選擇的文件在服務器是否存在的后臺處理程序的相對路徑
fileDataName:設置一個名字,在服務器處理程序中根據該名字來取上傳文件的數據。默認為Filedata
method :提交方式Post 或Get 默認為Post
scriptAccess:flash腳本文件的訪問模式,如果在本地測試設置為always,默認值:sameDomain
folder :上傳文件存放的目錄。
queueID :文件隊列的ID,該ID與存放文件隊列的div的ID一致。
queueSizeLimit:當允許多文件生成時,設置選擇文件的個數,默認值:999。
multi :設置為true時可以上傳多個文件。
auto :設置為true當選擇文件后就直接上傳了,為false需要點擊上傳按鈕才上傳。
fileDesc:這個屬性值必須設置fileExt屬性后才有效,用來設置選擇文件對話框中的提示文本,如設置fileDesc為“請選擇rar docpdf文件”,打開文件選擇框效果如下圖:
fileExt :設置可以選擇的文件的類型,格式如:'*.doc;*.pdf;*.rar' 。
sizeLimit:上傳文件的大小限制。
simUploadLimit:允許同時上傳的個數默認值:1 。
buttonText:瀏覽按鈕的文本,默認值:BROWSE 。
buttonImg:瀏覽按鈕的圖片的路徑。
hideButton:設置為true則隱藏瀏覽按鈕的圖片。
rollover:值為true和false,設置為true時當鼠標移到瀏覽按鈕上時有反轉效果。
width :設置瀏覽按鈕的寬度,默認值:110。
height :設置瀏覽按鈕的高度,默認值:30。
wmode :設置該項為transparent 可以使瀏覽按鈕的flash背景文件透明,并且flash文件會被置為頁面的最高層。默認值:opaque 。
cancelImg:選擇文件到文件隊列中后的每一個文件上的關閉按鈕圖標

Uploadify還自帶了很多參數及有用的方法和回調函數,都在API里,雖然是全英文的,但很容易看懂,這里就不說了。
以下是我用到的代碼,可以參考一下:

復制代碼 代碼如下:

<script type="text/javascript"> 
$(document).ready(function() { 
$("#uploadify").uploadify({ 
'uploader'       :'images/uploadify.swf', 
'script'         :'<%=request.getContextPath()%>/content/ImportScheduleCommitAction.do', 
'cancelImg'      : 'images/cancel.png', 
'folder'         : '/', 
'queueID'        : 'fileQueue', 
'fileDataName'   : 'uploadify', 
'fileDesc'       : '支持格式:xls.',  
'fileExt'        : '*.xls', 
'auto'           :false, 
'multi'          :true, 
'height'         : 20, 
'width'          : 50, 
'simUploadLimit' : 3, 
//'buttonText'     : 'fdsfdsf...', 
'buttonImg'      : 'images/browse.jpg', 
// 'hideButton'     : true, 
// 'rollover'       : true, 
'wmode'          : 'transparent', 
onComplete       : function (event, queueID,fileObj, response, data) 
{  
$('<li></li>').appendTo('.files').text(response);  
},  
onError          : function(event,queueID, fileObj) 
{  
alert("文件:"+ fileObj.name + " 上傳失敗");  
}  
// onCancel         : function(event,queueID, fileObj) 
// {  
//     alert("取消文件:" +fileObj.name);  
// }  
});
<script type="text/javascript">
$(document).ready(function() {
$("#uploadify").uploadify({
'uploader'       : 'images/uploadify.swf',
'script'         :'<%=request.getContextPath()%>/content/ImportScheduleCommitAction.do',
'cancelImg'      : 'images/cancel.png',
'folder'         : '/',
'queueID'        : 'fileQueue',
'fileDataName'   : 'uploadify',
'fileDesc'       : '支持格式:xls.',
'fileExt'        : '*.xls',
'auto'           : false,
'multi'          : true,
'height'         : 20,
'width'          : 50,
'simUploadLimit' : 3,
//'buttonText'     : 'fdsfdsf...',
'buttonImg'      : 'images/browse.jpg',
// 'hideButton'     : true,
// 'rollover'       : true,
'wmode'          : 'transparent' ,
onComplete       : function (event, queueID,fileObj, response, data)
{
$('<li></li>').appendTo('.files').text(response);
},  www.th7.cn
onError          : function(event,queueID, fileObj)
{
alert("文件:"+ fileObj.name + " 上傳失敗");
}
// onCancel         : function(event,queueID, fileObj)
// {
//     alert("取消文件:" + fileObj.name);
// }
});

要注意的是,我的script屬性值是一個請求路徑,我發現在我設置了同時上傳多個文件后(比如3),并不是每請求一次去上傳3個文件,而仍然是執行3次請求,請求一次上傳一個文件。這也沒辦法,uplodify有那么多回調函數,要是一次處理多個,那回調函數的參數就不知道拿哪個了,因為這些參數都不是數組。
也就是說,無論你設置同時上傳幾個文件,它都會一個一個去請求并上傳,只是表面上感覺好像有多個線程同時在處理上傳請求一樣,只是表象而已。而且如果你把simUploadLimit設置過大就會經常出錯,我設置成5的時候經常會有一兩個文件上傳失敗。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 久久人人人 | 毛片在线播放视频 | 粉嫩粉嫩一区二区三区在线播放 | 免费午夜视频 | 久久精品色 | 一区小视频 | 桥本有菜免费av一区二区三区 | 国产午夜精品久久久久婷 | 亚洲电影在线观看高清免费 | 史上最强炼体老祖动漫在线观看 | 91午夜免费视频 | 成人福利在线播放 | 久久综合九色综合久久久精品综合 | 国产午夜精品一区二区三区免费 | 91精品国产91久久久 | 日日爱99 | 国内精品一级毛片免费看 | 精品国产一区二区久久 | 一级黄色影院 | av在线免费观看网 | 一级在线免费观看视频 | 成人激情综合网 | 国产成人精品免费视频大全办公室 | 亚洲国产精品久久久 | 久久精品一二三区白丝高潮 | 亚洲精品成人久久 | 国产成人午夜精品 | 久久国产亚洲视频 | 国产精品午夜未成人免费观看 | 国产日韩成人 | 国产高清一区 | h视频在线播放 | h色网站免费观看 | 色99999| 久久久婷婷一区二区三区不卡 | 国产人成精品综合欧美成人 | 久久久久久久一区二区三区 | 一级做人爱c黑人影片 | 18pao国产成人免费视频 | 免费久久久 | 在线a免费观看 |