tôi cố gắng tạo ứng dụng CRUD góc cạnh giống như "dropbox". Vì vậy, nó phải có tập tin và thư mục lưu trữ với chức năng chia sẻ và truy cập. Tôi đang mắc kẹt trên một câu hỏi làm thế nào để tải lên các tập tin hình ảnh và video? Tôi đã sử dụng File API (FileReader, Blob) để tạo bản xem trước các tệp ở phía máy khách nhưng tôi không có ý tưởng cách POST loại dữ liệu này đến máy chủ.tải tệp lên dịch vụ RESTful trong angularjs
Trả lời
Something như thế này nên làm việc tốt để gửi như multipart/form-data
yêu cầu phụ trợ 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
});
Xem ở đây để tham khảo:
Nó rất hữu ích. Cảm ơn sự giúp đỡ của bạn. –
giải pháp đơn giản nhất mà interwebs cung cấp, nhờ – FloydThreepwood
Làm thế nào để bạn điền vào tệp "varialble"? Tôi mena, làm thế nào để ràng buộc nó vào kiểm soát đầu vào? – Nemus
Bạn có thể tải lên tệp bằng cách sử dụng lệnh ngFileUpload hoặc angularFileUpload.
Trong trường hợp angularFileUpload, bạn sử dụng .upload trong điều khiển và trong trường hợp ngFileUpload, bạn sử dụng .http
Ngoài ra, bạn cũng có thể sử dụng application/x-www-form-urlencoded nội dung thay vì gõ multipart cung cấp tập tin của bạn không phải là rất lớn. Trong trường hợp của ứng dụng/x-www-form-urlencoded, bạn chỉ có thể nhận được giá trị trong phần còn lại webservice như InputStream bình thường do đó đòi hỏi không cần marshalling dữ liệu đa.
Bạn có thể tham khảo dưới đây cho những cách có thể tải lên tập tin sử dụng js góc và dịch vụ web còn lại:
http://technoguider.com/2015/08/file-upload-using-angular-js-and-rest-web-service/
- 1. Mùa xuân: Tải lên tệp Dịch vụ Web RESTFUL
- 2. Nhận/đăng lên dịch vụ web RESTful
- 3. Cách tải tệp lên Dịch vụ WCF?
- 4. Tải tệp lên theo cách RESTful?
- 5. Cách tải tệp lên bằng AngularJS?
- 6. Tải lên tệp jQuery trong AngularJS
- 7. Tải tệp lên Android với dịch vụ web Django
- 8. Tải lên tệp dịch vụ Jersey khiến OutOfMemoryError
- 9. AngularJS Tải dữ liệu từ dịch vụ
- 10. Android và dịch vụ RESTful
- 11. Dịch vụ RESTful phiên bản?
- 12. Xác thực dịch vụ RESTful
- 13. Sử dụng dịch vụ RESTful trong Reactjs
- 14. Phân trang trong dịch vụ RESTful
- 15. @POST trong dịch vụ web RESTful
- 16. Biểu mẫu POST của AngularJs Ajax với tệp tải lên
- 17. tải xuống tệp bằng Angular JS và dịch vụ web RESTful dựa trên Spring
- 18. Cuộc gọi Ajax để tải xuống tệp được trả về từ dịch vụ RESTful
- 19. Tải tên tệp tải lên trước khi tải lên bằng plugin Tải lên tệp jQuery
- 20. Cách gửi nhiều tệp trong dịch vụ web ReSTful của người đưa thư?
- 21. Tải hình ảnh lên dịch vụ web trong ios
- 22. Dịch vụ RESTful - WSDL Tương đương
- 23. Dịch vụ RESTful thử nghiệm với RestTemplate
- 24. Dịch vụ xác thực người dùng RESTful
- 25. Dịch vụ Web RESTful là gì
- 26. tải lên tệp wcf
- 27. AngularJS - Bootstrapping dữ liệu thành một dịch vụ tải trang
- 28. API RESTful và API dịch vụ web
- 29. Dịch vụ web RESTful là gì?
- 30. Khung dịch vụ RESTFul cho AppEngine
Sử dụng [FormData] (https://developer.mozilla.org/en-US/docs/Web/API/FormData) – aarosil
Vì vậy, tôi phải tạo đối tượng FormData và sau đó chèn dữ liệu vào nó và gửi đối tượng FormData đến API của tôi? –
Chính xác, tôi có thể đăng câu trả lời chi tiết hơn bằng mã mẫu nếu bạn muốn. – aarosil