multipart/form-data檔案上傳
阿新 • • 發佈:2018-11-21
form表單的enctype屬性:規定了form表單資料在傳送到伺服器時候的編碼方式
- application/x-www-form-urlencoded:預設編碼方式
- multipart/form-data:指定傳輸資料為二進位制資料,例如圖片、mp3、檔案
- text/plain:純文字的傳輸。空格轉換為“+”,但不支援特殊字元編碼。
多部件請求體
POST / HTTP/1.1 Host: localhost cache-control: no-cache Postman-Token: aa6340a3-4e9b-448c-be76-e6de91258d81 Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW Content-Disposition: form-data; name="file"; filename="/Users/zhuyx/Documents/test.png Content-Disposition: form-data; name="token" text ------WebKitFormBoundary7MA4YWxkTrZu0gW-- ---------------------
- 多部件請求體:就是把每一個表單項分隔為一個部件。
- 表單項分為普通表單項和檔案表單項
- multipart/form-data型別的body為多部請求體
postman body支援型別
1、form-data
- http請求中的multipart/form-data,會將表單的資料處理為一條訊息,以標籤為單元,用分隔符分開。
- 既可以上傳鍵值對,也可以上傳檔案
- 當上傳的欄位是檔案,會使用content-type表明檔案型別;content-disposition說明欄位的一些資訊。
- 由於有boundary隔離,所以multipart/form-data既可以上傳檔案,也可以上傳鍵值對。
2、application/x-www-from-urlencoded
- 會將表單內的資料轉換為鍵值對。
3、raw
- 可以上傳任意格式的文字,可以上傳text、json、xml、html等
4、binary/application/octet-stream
- 只可以上傳二進位制資料,通常用來上傳檔案,一次只能上傳一個檔案。
5、multipart/form-data與application/x-www-from-urlencoded區別
- multipart/form-data:既可以上傳二進位制資料,也可以上傳表單鍵值對,只是最後會轉化為一條資訊
- x-www-from-urlencoded:只能上傳鍵值對,並且鍵值對都是間隔分開的。