elementui自定義上傳,使用axios上傳FormData遇到的坑


elementui 中 Upload 組件自定義上傳基本配置就不說了,主要記錄一下遇到的問題.

下面是最開始的寫法:

 

 請求后服務器報 500 錯誤:

 

 網上找了一圈后發現是缺少了 boundary,這個是瀏覽器進行分割文件時需要到的分割符。手動添加后又服務器又報了 400 錯誤,說是文件未接收到,但是前端可以正常打印出文件。

 查閱資料發現,在上傳文件時不需要手動設置"Content-type", "multipart/form-data",瀏覽器會自動識別設置請求頭。然后嘗試去掉手動設置的請求頭,還是報了個 500 錯誤:

 

 發現請求頭是這個:

 

 又網上查了一圈,還是沒有解決問題。這時候就在想,會不會是 axios 的問題,就嘗試用 ajax 來寫一下,結果請求居然成功了。。。

 

 那就是 axios 中的配置問題了,然后網上查找了關於 ajax 與 axios 上傳 FormData 格式的區別,找到了一篇文章說是 axios 在內部進行了處理,所以在上傳前需要使用 transformRequest 轉換一下格式,更改代碼后能夠請求成功: 

  

以上是記錄一下此問題的處理過程。

 

參考文章:https://blog.csdn.net/weixin_34413802/article/details/88722992

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM