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
