Я пытаюсь сделать угловое приложение CRUD, которое немного похоже на «dropbox». Таким образом, он должен иметь хостинг файлов и папок с функциями совместного доступа и доступа. Я застрял в вопросе, как загружать графические и видеофайлы? Я использовал File API (FileReader, Blob), чтобы сделать предварительный просмотр файлов на стороне клиента, но у меня нет идеи, как отправить этот тип данных на сервер.загружать файл в службу RESTful в angularjs
ответ
Что-то, как это должно работать хорошо, чтобы отправить в multipart/form-data
запрос на бэкэнд API:
var file = ... // get from file input;
var backendUrl = ...
var fd = new FormData();
fd.append('myFile', file, 'filename.ext');
$http.post(backendUrl, fd, {
// this cancels AngularJS normal serialization of request
transformRequest: angular.identity,
// this lets browser set `Content-Type: multipart/form-data`
// header and proper data boundary
headers: {'Content-Type': undefined}
})
.success(function(){
//file was uploaded
})
.error(function(){
//something went wrong
});
Смотрите здесь для справки:
Это очень полезно. Спасибо за помощь. –
на самом деле простейшее решение, предоставленное interwebs, спасибо – FloydThreepwood
Как вы заполняете «файл» varialble? I mena, как связать его с контролем ввода? – Nemus
Вы можете загрузить файл с помощью директив ngFileUpload или angularFileUpload.
В случае angularFileUpload, можно использовать пло.загрузка в контроллере и в случае ngFileUpload, можно использовать .http
Кроме того, можно также использовать применение/х-WWW-форм-urlencoded содержание типа вместо multipart при условии, что ваш файл не огромен. В случае приложения/x-www-form-urlencoded вы можете просто получить значение в веб-сервисе rest как обычный InputStream, тем самым не требуя сортировки многостраничных данных.
Вы можете обратиться ниже для возможных способов загрузки файла с помощью угловых JS и отдыха веб-службы:
http://technoguider.com/2015/08/file-upload-using-angular-js-and-rest-web-service/
Используйте [FormData] (https://developer.mozilla.org/en-US/docs/Web/API/FormData) – aarosil
Итак, мне нужно создать объект FormData, а затем вставить в него данные и отправить объект FormData в мой API? –
Точно, я могу отправить более подробный ответ с образцом кода, если хотите. – aarosil