將文件和相關(guān)數(shù)據(jù)發(fā)布到RESTfulWebService,最好以JSON的形式發(fā)布這可能是個愚蠢的問題,但我有一個晚上。在一個應(yīng)用程序中,我正在開發(fā)RESTfulAPI,我們希望客戶機(jī)以JSON的形式發(fā)送數(shù)據(jù)。此應(yīng)用程序的一部分要求客戶端上傳文件(通常是圖像)以及有關(guān)圖像的信息。我很難追蹤這是如何在一個請求中發(fā)生的??梢詫⑽募?shù)據(jù)變成JSON字符串嗎?我需要在服務(wù)器上執(zhí)行兩個帖子嗎?我不應(yīng)該為此使用JSON嗎?另外,我們在后端使用Grails,這些服務(wù)被本地移動客戶端(iPhone、Android等)訪問,如果有任何不同的話。
3 回答

MYYA
TA貢獻(xiàn)1868條經(jīng)驗 獲得超4個贊
如何使用REST Web服務(wù)上載帶有元數(shù)據(jù)的文件?
base 64對文件進(jìn)行編碼,代價是將數(shù)據(jù)大小增加約33%,并增加服務(wù)器和客戶端用于編碼/解碼的處理開銷。 首先將文件發(fā)送到 multipart/form-data
并將ID返回給客戶端。然后客戶端發(fā)送帶有ID的元數(shù)據(jù),服務(wù)器重新關(guān)聯(lián)文件和元數(shù)據(jù)。 首先發(fā)送元數(shù)據(jù),然后向客戶端返回一個ID。然后客戶端用ID發(fā)送文件,服務(wù)器重新關(guān)聯(lián)文件和元數(shù)據(jù)。
添加回答
舉報
0/150
提交
取消