春季启动后端从EmberJs组件EmberUploader接收空文件数组时,上传多个文件

问题描述

我有一个ember组件,负责上传多个文件,这是我的组件:

export default EmberUploader.FileField.extend({
  multiple: true,method: 'POST',success: Ember.K,failure: Ember.K,updateLabel: Ember.K,start: false,change(event) {
    this.set('_files',event.target.files);
    var j = Array.from(this.get('_files'));
    this.get('files').pushObject(j);
  }
  
    startUpload: Ember.observer('_files.[]','start',function() {
    if (!Ember.isEmpty(this.get('_files')) && this.get('start')) {
      const uploader = EmberUploader.Uploader.create({
        url: this.get('url'),method: this.get('method')
      });

      let args = this.get('files');

      let data = this.get('data');
      if (data) {
        args.push({data: data});
      }

      uploader.upload(this.get('files')).then(data => {
        this.$().val('');
        this.get('success')(data);
      },error => {
        this.$().val('');
        this.get('failure')(error);
      });
    }
  })
});

这是我的spring boot控制器:

public List<FileData> upload(@RequestPart("data") MemberData memberData,@RequestParam("files") multipartfile[] uploadedFiles) throws SizeLimitExceededException {
    ...
}

我的问题是我收到了一个空数组的uploadedFiles。 使用multipartfile而不是multipartfile []并放在 this.get('files')[0] with args。

为什么这不适用于多个文件

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)