Загрузка файла на Angular 5 и отправка его в Java Spring Back End - PullRequest
0 голосов
/ 30 июня 2018

У меня проблема с моим приложением. Я загружаю файл на Angular 5, но не могу передать его в свой Java Spring Back end, чтобы вставить его в базу данных.

Я получаю сообщение об ошибке 500 при попытке отправить frmData на контроллер Java.

У кого-нибудь есть решение? Вот мой код:

мой компонент .html:

<ng-container>
  <input type="file" id="uploadFile" multiple 
         (change)="getFileDetails($event.target.file)">
</ng-container></div>

мой компонент .ts:

getFileDetails (e) {
  //console.log (e.target.files);
  for (var i = 0; i < e.target.files.length; i++) {
    this.myFiles.push(e.target.files[i]);
  }
}

addFollowUp1() {            
  const frmData = new FormData();

  for (var i = 0; i < this.myFiles.length; i++) {
    frmData.append("file", this.myFiles[i]);
  }

  this.followUpService.addFollowUpAttachment(frmData).subscribe();
}

И мой Service.ts:

public addFollowUpAttachment(file: FormData): Observable<any> {
  return this.http.post('/SV-AUD/api/attachment/addAttachment', file );
}

На сервере Java здесь находится контроллер:

@Controller
@RequestMapping("/attachment")
public class AttachmentController {

  @Autowired
  private AttachmentService attachmentService;

  @RequestMapping(value = "/addAttachment", method = RequestMethod.POST)
  @ResponseBody
  public void addFollowUpAttachment(@RequestParam("file") MultipartFile files) throws ApcException {    
    System.out.println("test");
    attachmentService.addFollowUpAttachment(files);    
  }    
}

Спасибо!

1 Ответ

0 голосов
/ 30 июня 2018

Я нашел проблему, вместо $ event.target.file я использовал только $ event, теперь я наконец получаю сообщение об ошибке из java-бэкэнда xD

<ng-container>
  <input type="file" id="uploadFile" multiple (change)="getFileDetails($event)">
</ng-container></div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...