ZBLOG

function OutsourceFileUploadNew(init) { init = init || {}; init.title = lang('upload attachment'); var self = new Window(init).setWidth('40%').setDestroyOnHide(true); self.type = 'OutsourceFileUploadNew'; self.attr("id", self.type + ggN...

要实现多个图片的上传,你可以对代码进行一些修改。以下是一个示例,用于支持上传多个图片:

  1. function OutsourceFileUploadNew(init) {
  2. init = init || {};
  3. init.title = lang('upload attachment');
  4. var self = new Window(init).setWidth('40%').setDestroyOnHide(true);
  5. self.type = 'OutsourceFileUploadNew';
  6. self.attr("id", self.type + ggNamespace.getCounter());
  7. self.fileInput = new FileUploader({
  8. title: lang("file name"),
  9. name: "uploadfiles",
  10. accept: ".jpg,.docx,.doc,.pdf",
  11. required: true,
  12. multiple: true // 添加multiple属性以支持多文件上传
  13. });
  14. self.fileInput.addChangeHandler(function() {
  15. var files = self.fileInput.getValue();
  16. for (var i = 0; i < files.length; i++) {
  17. var ext = files[i].name.match(/\.([^\.]+)$/)[1];
  18. switch (ext) {
  19. case 'jpg':
  20. case 'docx':
  21. case 'doc':
  22. case 'pdf':
  23. break;
  24. default:
  25. files.splice(i, 1); // 如果有非法文件类型,则从数组中删除该文件
  26. i--; // 调整索引以确保遍历所有文件
  27. break;
  28. }
  29. }
  30. if (files.length > 0) {
  31. self.uploadButton.enable(); // 如果仍然有合法的文件,启用上传按钮
  32. } else {
  33. self.uploadButton.disable(); // 如果没有合法的文件,禁用上传按钮
  34. new Bootbox()
  35. .setDestroyOnHide(true)
  36. .alert(lang('warn'), lang('Invalid attachment type! Only .jpg, .docx, .doc, .pdf formats supported.'));
  37. }
  38. });
  39. self.uploadButton = new Button({
  40. title: lang('upload'),
  41. type: 'primary'
  42. });
  43. self.cancel = new Button({
  44. title: lang('cancel'),
  45. type: 'primary'
  46. });
  47. self.content = new VLayout();
  48. self.footer = new HLayout();
  49. self.form = new DynamicForm();
  50. self.form.setItems({
  51. fileInput: self.fileInput,
  52. });
  53. self.content.addMembers(self.form);
  54. self.footer.fillSpaceBefore();
  55. self.footer.setRowSpacing('5px');
  56. self.setContent(self.content);
  57. self.setFooter(self.footer);
  58. // 修改上传处理程序
  59. ggNamespace.functions.AgencyOutsideImportFileUploadWindow_UploadFileHandler = function(init) {
  60. var self = this;
  61. var arr = [];
  62. if (self.form.validate()) {
  63. var formData = new FormData($('#' + self.form.attr("id")).find('form')[0]);
  64. formData.append("id", init.id);
  65. var url = "../d/supplement/savePicture";
  66. // 禁用按钮,防止重复上传
  67. self.uploadButton.disable();
  68. self.cancel.disable();
  69. $.ajax({
  70. url: url,
  71. method: 'post',
  72. data: formData,
  73. enctype: 'multipart/form-data',
  74. processData: false,
  75. contentType: false,
  76. dataType: 'json',
  77. success: function(result) {
  78. console.log('result', result);
  79. if (result.success) {
  80. new Bootbox()
  81. .setWidth('15vw')
  82. .alert(lang('alert'), lang('succeed'));
  83. arr.push({
  84. repaymentName: result.data.repaymentName,
  85. repaymentPath: result.data.repaymentPath
  86. });
  87. // 通知事件
  88. self.trigger('OutsourceContractImportFileUploadNew import success', arr);
  89. self.hide();
  90. } else {
  91. new Bootbox()
  92. .setWidth('15vw')
  93. .alert(lang('alert'), result.message);
  94. }
  95. },
  96. error: function(xhr, ajaxOptions, thrownError) {
  97. ggNamespace.showError(thrownError);
  98. }
  99. });
  100. }
  101. };
  102. // 修改上传按钮的点击处理程序
  103. self.uploadButton.addClickHandler(function(){
  104. self.uploadFileHandler(init);
  105. });
  106. self.cancel.addClickHandler(function(){
  107. self.hide()
  108. })
  109. return self;
  110. }

这样,你就可以在表单中选择多个文件进行上传。注意,修改后的代码需要与其他相关部分一起使用,以确保整体功能正常运行。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=16852

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?