簡體   English   中英

HTTP PUT文件和數據

[英]HTTP PUT file and data

在我的RESTful API中說我有一張圖片,用戶可以通過PUT請求更新。

讓我們說這些圖片中的每一個都有一個自定義名稱,用戶可以分配它們,以便他們可以輕松瀏覽它們。

我想做的是發送包含更新文件的放置請求和圖片的新名稱,但是我不確定如何在從php://讀取時將PHP從新名稱中分離出更新的文件輸入

有誰知道如何做到這一點?

將標量參數(即舊名稱,新名稱)放入查詢字符串中。

看看AtomPub( http://tools.ietf.org/html/rfc5023 ),特別是編輯媒體鏈接。 它並沒有給你你想要的東西,但也許你可以適應它。

將多部分文檔輸入到原子條目應該在語義上是可行的,其中多部分的第一部分是用於更新標題的原子條目XML。 該條目的內容元素可以使用cid:URI指向第二個多部分(圖像數據)( http://tools.ietf.org/html/rfc2392

Slug標題(也在RFC 5023中)也可能是一個開始調查。

Content-Disposition可能還有一些較舊的標題:和標題:您可以搜索。

另一種選擇是提出一個具有適當語義的新資源,以及POST或PATCH多部分或結構化文檔。

一月

使用SLUG標頭執行此操作:

換句話說,Slug標頭為客戶端提供了一種為新創建的資源建議URI的方法。

URI只能使用一組有限的字符,如果Slug使用合法URI字符集之外的字符,則服務器必須轉義這些字符。

兩個或多個客戶端可能同時嘗試使用相同的Slug創建資源,服務器必須為每個資源提供唯一的URI,因此服務器可以選擇使用其他字符裝飾slug以確保每個資源具有唯一名稱。

參考

為什么不使用url作為文件名?

PUT /images/new_image.jpg

如果要在同一請求主體中具有多個內容類型,則使用正確的格式是使用多部分mime將它們全部包裝到同一請求主體中。 在這種情況下,支持像multipart mime這樣復雜的東西可能有點難以證明。

經過考慮,我認為你需要的是一個帶有multipart/form-data的POST請求。 這允許文件和一些標量數據項,而不會在文件數據上產生Base64或URLEncode的開銷。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM