2014-11-05 50 views
8

我正在使用AngularJS與REST風格的Web服務進行交互,使用Restangular來抽象公開的各種實體。其中一些實體是圖像或文件,因此我需要能夠使用Restangular的後續操作在同一請求中發送二進制數據和文本字段。Restangular POST文件和數據

如何使用Restangular通過上傳的圖像或文件將數據發送到單個POST請求中的寧靜web服務?

+0

要通過你需要一個多形式提交一個ajax post請求發送文件。這個答案可能會幫助你開始:http://stackoverflow.com/questions/6974684/how-to-send-formdata-objects-with-ajax-requests-in-jquery 據此,你基本上是提交一個表單,棘手的部分將是確保$ http沒有設置錯誤的內容類型。看看Restangular withHttpConfig選項https://github.com/mgonto/restangular#using-local-http-configuration,或者直接使用customPost設置Content-Type標頭 – guzart 2014-11-05 17:20:24

回答

2

我剛剛回答了一個非常類似的問題here,它解釋瞭如何使用文件模型指令並創建一個formData對象,然後將其發佈到api。

使用Restangular而不是$ http,唯一不同的部分當然是帖子的完成方式。

這裏是後是如何完成使用restangular:

Restangular.one('api/url/to/endpoint') 
.withHttpConfig({transformRequest: angular.identity}) 
.customPOST(fd, '', undefined, {'Content-Type': undefined})