URL請求頭(Headers)中Content-Type為不同值時, 後端對應獲取請求體參數的不同方式.

前端發送URL請求之後, 請求的相關內容都通過統一格式封裝在URL請求中, 後端程序收到URL請求之後, 都會首先對URL請求的相關內容進行解析, 不同的後端語言和框架對URL的解析不同.

這裡僅以Node中的Express框架為例.

 

1 application/x-www-form-urlencoded

  解析中間件: body-parser

  使用方法: app.use(bodyParser.urlencoded({entended: true}))

  默認值, 所有的請求參數會被解析到req.body中

2 multipart/form-data

  解析中間件: multer[本質上就是一個解析FormData的中間件]

  使用方法: router.post("url", upload.single(), controller.method)

  需自行設置, 經multer中間件解析之後, 文本屬性被解析到req.body中, 文件屬性被解析到req.file(單文件上傳)或req.files(多文件上傳)中, 此時的file或files只包含了對文件的描述信息, 二進制數據已經經過multer中間件被存儲到了自定義的位置了.  只有當存儲方式為MemoryStorage(存儲到內存中)時, file對象才會擁有buffer屬性

3 application/json

4 text/xml

posted @   0龙行者0  阅读(6)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示