国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

以JSON格式發(fā)布文件和相關數(shù)據(jù)到RESTful WebService
P粉056618053
P粉056618053 2023-08-20 13:47:10
0
2
771
<p>在我正在開發(fā)的應用程序中,我們希望客戶端以JSON格式發(fā)送數(shù)據(jù),因此我正在開發(fā)RESTful API。該應用程序的一部分要求客戶端上傳一個文件(通常是圖像),以及有關圖像的信息。</p> <p>我很難追蹤到如何在單個請求中完成這個操作。是否可以將文件數(shù)據(jù)Base64編碼為JSON字符串?我需要向服務器執(zhí)行兩個POST請求嗎?我是否不應該使用JSON來處理這個問題?</p> <p>另外,我們在后端使用Grails,并且這些服務可由原生移動客戶端(iPhone、Android等)訪問,如果這些信息有所不同的話。</p>
P粉056618053
P粉056618053

全部回復(2)
P粉994092873

您可以使用 multipart/form-data 內(nèi)容類型在一個請求中發(fā)送文件和數(shù)據(jù):

來自 http://www.faqs.org/rfcs/rfc2388.html

您可以在每個邊界之間的每個部分中包含文件信息或字段信息。我已經(jīng)成功地實現(xiàn)了一個需要用戶提交數(shù)據(jù)和表單的RESTful服務,multipart/form-data完美地工作。該服務使用Java/Spring構(gòu)建,客戶端使用C#,所以很遺憾我沒有Grails的示例可以提供給您關于如何設置服務。在這種情況下,您不需要使用JSON,因為每個“form-data”部分都為您提供了指定參數(shù)名稱及其值的位置。

使用multipart/form-data的好處是您正在使用HTTP定義的頭部,因此您遵循了使用現(xiàn)有HTTP工具創(chuàng)建服務的REST理念。

P粉145543872

我在這里問了一個類似的問題:

如何使用REST Web服務上傳帶有元數(shù)據(jù)的文件?

你基本上有三種選擇:

  1. 對文件進行Base64編碼,但會增加數(shù)據(jù)大小約33%,并在服務器和客戶端中增加編碼/解碼的處理開銷。
  2. 首先以multipart/form-data的形式發(fā)送文件,并將ID返回給客戶端。然后客戶端使用該ID發(fā)送元數(shù)據(jù),服務器重新關聯(lián)文件和元數(shù)據(jù)。
  3. 首先發(fā)送元數(shù)據(jù),并將ID返回給客戶端。然后客戶端使用該ID發(fā)送文件,服務器重新關聯(lián)文件和元數(shù)據(jù)。
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板