LINUX.ORG.RU

Angular file upload

 , ,


0

1

Столкнулся с тем что в форме input type=«file» и нужно это файл как-то средствами Angular отправить на API. Погуглив нашел ряд решений которые моментами сильно навороченные, и многие годны для загрузки изображений, в свою очередь нашел вот это решение https://github.com/uor/angular-file , я начал его использовать, в модель возвращается инфа о файле, пробовал отправить значение модели на сервер, идет текстовое значение никак не файл, в форме type=multipart/form-data. Может есть какое простое решение? Или может попробовать файл не отправлять API а сохранять на сервере где зхраниться вся статика , но тоже вопрос как правильно это сделать.


Через js можно отправлять файлы через ту же FormData, например.

// services.js

saveFile: function (file) {
    var url = conf.apiUrl;
    var fd = new FormData();
    fd.append('file', file);
    return $http({
        method: 'POST',
        url: url,
        transformRequest: angular.identity,
        data: fd,
        headers: {'Content-Type': undefined}
    });
},

Тут file - элемент из FileList, берётся прямо из инпута.

UPD: ну да, а в ответ сервер выдаёт, например, id файла или путь к нему.

risenshnobel ★★★
()
Последнее исправление: risenshnobel (всего исправлений: 1)
Ответ на: комментарий от risenshnobel

А как потом отследить приходит файл на сервер или нет? Предыдущие мои попытки не увенчались успехом, так как я искал и в папке /tmp и в папках именно хоста, нигде не нашел возможно загруженный файл. Хотя в request-е к серверу было видно что файл пошел.

Berdin
() автор топика
Ответ на: комментарий от anonymous

А при чем тут коментарий к слову сервер?

Berdin
() автор топика
Ответ на: комментарий от Berdin

А как потом отследить приходит файл на сервер или нет? Предыдущие мои попытки не увенчались успехом, так как я искал и в папке /tmp и в папках именно хоста, нигде не нашел возможно загруженный файл.

На сервере должен быть некий код, который обрабатывает приходящий запрос и сохраняет файл, что, в общем, логично.

risenshnobel ★★★
()
Ответ на: комментарий от risenshnobel

Все сделал) Спасибо за совет, все работает как часы, на сервере повозился с самим фреймворком и все сделал)

Berdin
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.