2016-02-20 2 views
0

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

$upload.upload({ 
    url: 'api/my_resource.json', 
    data: { 
    files: files 
    } 
}) 
console.log("files to upload", files); 

... где files является массивом файлов. Консоль печатает

files to upload [File, File] 

При печати параметры запроса, полученные с помощью моего контроллера Rails, хотя, я вижу это:

Parameters: {"data"=>"{\"files\":[{},{}]}"} 

Я, кажется, что файлы не передаются. Кто-нибудь знает, что я делаю неправильно?

+0

Это, вероятно, только печать, не показывающая вам содержание. См. Вкладку netwerk вашего браузера, и если у вас есть запись для файла с именем файла в запросе, тогда файлы отправляются на сервер. – danial

ответ

0

Я не мог заставить это работать, используя ng-file-upload. Вместо этого я сделал это в прямом javascript, согласно here (загрузка одного файла) и here (несколько файлов).

fd = new FormData() 
    for f in files 
     fd.append("files[]", f); 

    $http.post('/api/my_resource.json', fd, { 
     withCredentials: true, 
     headers: {'Content-Type': undefined }, 
     transformRequest: angular.identity 
    }) 

 Смежные вопросы

  • Нет связанных вопросов^_^