[SpringBoot]用postman模擬上傳圖片打API

在工作上做API串接測試,遇到問題,特此紀錄~

首先是postman的設定:
要注意的點有
1.在Headers設定:

  • Content-Type:multipart/form-data; boundary=<calculated when request is sent>
  • Content-Length:<calculated when request is sent>

2.在Body設定:

  • form-data模式
  • 勾選傳入參數,檔案形式選File,輸入Key,Value處可上傳本地檔案

 

再來是程式方面的:
1.由於Content-Type:multipart/form-data,有別於enctype : application/x-www-form-urlencoded。

先來了解什麼是enctype : application/x-www-form-urlencoded
這應該是最常見的 POST 提交數據的方式了。瀏覽器的原生 form 表單,如果不設置 enctype 屬性,那麽最終就會以 application/x-www-form-urlencoded 方式提交數據

再回來看multipart/form-data

這又是一個常見的 POST 數據提交的方式。我們使用表單上傳文件時,必須讓 form 的 enctyped 等於這個值。

2.再來是上傳文件會用到MultipartFile這個類別,若要透過request接到MultipartFile類別的檔案,就一定要搭配@RequestPart這個annotation
 

或是若想繼續使用HttpServletRequest api,也可透過getFile()來接值。
 

如有敘述錯誤,還請不吝嗇留言指教,thanks!