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

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