Загрузить файл с помощью ng-file-upload и Spring Boot

Я пытаюсь загрузить видео с использованием угловой и весенней загрузки. Я использую ng-file-upload в angular, а в контроллере я использую следующий метод загрузки файла

   Upload.upload({
       url: 'api/uploadFile',
       data: {file: file, 'username': $scope.username}
   })

На сервере я объявил свой ресурс вот так

@RestController
@RequestMapping("/api")
public class FileUploadResource {

    @ResponseStatus(HttpStatus.OK)
    @PostMapping("/uploadFile")
    public void uploadFile(@RequestParam("file") MultipartFile file,  @RequestParam("username") String name)

Когда я пытаюсь загрузить файл, я продолжаю получать ошибку 500 и не могу понять, как ее решить. Если бы вы могли мне помочь или если бы вы могли предложить другой метод, это было бы здорово

Спасибо.


person Dorin    schedule 23.03.2017    source источник


Ответы (2)


Вызывается ли метод контроллера uploadFile? Я предполагаю, что из метода uploadFile генерируется исключение, и в этом случае у вас должна быть трассировка стека в журнале вашего сервера, которая направит вас туда, где находится проблема.

person httPants    schedule 23.03.2017
comment
Нет, метод не вызывается. У меня нет трассировки стека, я получаю error.internalServerError. - person Dorin; 24.03.2017

Задайте заголовки в загрузке:

headers: { 'Content-Type': undefined }

Лучше отправлять свои данные так:

var formData = new FormData();
formData.append("file", file);
formData.append("username", username);

И поместите formData в качестве данных загрузки для отправки.

person Reza    schedule 13.06.2017