uploadify 3.2 后台动态传参数

时间:2021-11-08 14:25:16

最近在弄一个上传的小功能,需要往后台传递一些动态参数,网上有一些传参数可能是因为版本不对也没成功。仔细看了官网的一些说明,搞定了。

3.2中传递参数用的的是'formData':{'somekey':'somevalue'}这个属性,但其不能传递动态参数;动态传参需要用到settings这个方法,官网上也说明了。示例如下:

  1. jQuery(document).ready(function () {
  2. var ctrlid = getQueryString("ctrlptid");
  3. jQuery("#file_upload").uploadify({
  4. 'buttonImage': '/uploadify/browse-btn.png',
  5. 'auto': false,
  6. 'successTimeout': 99999,
  7. 'swf': '/uploadify/uploadify.swf',
  8. 'queueID': 'uploadfileQueue',
  9. 'uploader': '/uploadify/UploadHandler.ashx',
  10. 'fileSizeLimit': '0',
  11. 'fileTypeExts': '*.gif; *.jpeg; *.jpg; *.png',
  12. 'multi': false,
  13. 'queueSizeLimit': 5,
  14. 'progressData': 'speed',
  15. 'overrideEvents': ['onDialogClose'],
  16. //'formData': { 'someKey': 'someValue', 'ctrlid': 2 },//这里只能传静态参数
  17. //'fileTypeExts': '*.rar;*.zip;*.7z;*.jpg;*.jpge;*.gif;*.png',
  18. 'onSelectError': function (file, errorCode, errorMsg) {
  19. switch (errorCode) {
  20. case -100:
  21. alert("上传的文件数量已经超出系统限制的" + jQuery('#file_upload').uploadify('settings', 'queueSizeLimit') + "个文件!");
  22. break;
  23. case -110:
  24. alert("文件 [" + file.name + "] 大小超出系统限制的" + jQuery('#file_upload').uploadify('settings', 'fileSizeLimit') + "大小!");
  25. break;
  26. case -120:
  27. alert("文件 [" + file.name + "] 大小异常!");
  28. break;
  29. case -130:
  30. alert("文件 [" + file.name + "] 类型不正确!");
  31. break;
  32. }
  33. },
  34. 'onClearQueue': function (queueItemCount) {
  35. alert("取消上传");
  36. return;
  37. },
  38. 'onQueueComplete': function (queueData) {
  39. alert("文件上传成功!");
  40. return;
  41. },
  42. 'onUploadStart': function (file) {
  43. $("#file_upload").uploadify("settings", "formData", { 'ctrlid': ctrlid });
  44. //在onUploadStart事件中,也就是上传之前,把参数写好传递到后台。
  45. }
  46. });
  47. });

后台取得参数的话,可以用context.Request.Form["ctrlid"] 来取得。