最近在弄一個上傳的小功能,需要往後臺傳遞一些動態參數,網上有一些傳參數可能是因爲版本不對也沒成功。仔細看了官網的一些說明,搞定了。
3.2中傳遞參數用的的是'formData':{'somekey':'somevalue'}這個屬性,但其不能傳遞動態參數;動態傳參需要用到settings這個方法,官網上也說明了。示例如下:
jQuery(document).ready(function () {
var ctrlid = getQueryString("ctrlptid");
jQuery("#file_upload").uploadify({
'buttonImage': '/uploadify/browse-btn.png',
'auto': false,
'successTimeout': 99999,
'swf': '/uploadify/uploadify.swf',
'queueID': 'uploadfileQueue',
'uploader': '/uploadify/UploadHandler.ashx',
'fileSizeLimit': '0',
'fileTypeExts': '*.gif; *.jpeg; *.jpg; *.png',
'multi': false,
'queueSizeLimit': 5,
'progressData': 'speed',
'overrideEvents': ['onDialogClose'],
//'formData': { 'someKey': 'someValue', 'ctrlid': 2 },//這裏只能傳靜態參數
//'fileTypeExts': '*.rar;*.zip;*.7z;*.jpg;*.jpge;*.gif;*.png',
'onSelectError': function (file, errorCode, errorMsg) {
switch (errorCode) {
case -100:
alert("上傳的文件數量已經超出系統限制的" + jQuery('#file_upload').uploadify('settings', 'queueSizeLimit') + "個文件!");
break;
case -110:
alert("文件 [" + file.name + "] 大小超出系統限制的" + jQuery('#file_upload').uploadify('settings', 'fileSizeLimit') + "大小!");
break;
case -120:
alert("文件 [" + file.name + "] 大小異常!");
break;
case -130:
alert("文件 [" + file.name + "] 類型不正確!");
break;
}
},
'onClearQueue': function (queueItemCount) {
alert("取消上傳");
return;
},
'onQueueComplete': function (queueData) {
alert("文件上傳成功!");
return;
},
'onUploadStart': function (file) { $("#file_upload").uploadify("settings", "formData", { 'ctrlid': ctrlid });
//在onUploadStart事件中,也就是上傳之前,把參數寫好傳遞到後臺。
}
});
});
後臺取得參數的話,可以用context.Request.Form["ctrlid"] 來取得。