先拋截圖如下:

首先出現(xiàn)上邊問題是FormData轉(zhuǎn)換數(shù)據(jù)時(shí)候出錯(cuò)了。
網(wǎng)友和dio官方github上給的解決辦法是:
MultipartFile類添加 contentType: MediaType("image", "png"),
MediaType是http_parser里面的一個(gè)類型,可以直接搜索引用,
如下:

到這里基本上解決了百分之99的問題了,我感覺我就是那百分之一,我的問題如下:

看出區(qū)別了么??jī)蓚€(gè)相同的名稱,就是構(gòu)造不一樣,我想用上邊的正確的方法,但是MultipartFile()初始化方法contentType需要的是一個(gè)字符串, MediaType無法使用。我一開始以為版本不一樣導(dǎo)致MultipartFile和FormData的初始化方有區(qū)別,誰知道是GetX里面的兩個(gè)同名類,如下:

因?yàn)閳D片處理和上傳是在GetController的子類中進(jìn)行,編輯器自然直接就使用GetX里面的兩個(gè)同名類了,結(jié)果在上傳時(shí)候,一直報(bào)錯(cuò)。
跟后臺(tái)一起排查修改headers上傳數(shù)據(jù)類型等各種嘗試還是不成功,最后發(fā)現(xiàn)是GetX同名的類FormData和MultipartFile導(dǎo)致的,上傳圖片需要引用的是DIO的FormData和MultipartFile。注意構(gòu)造函數(shù)也不一樣。
解決方案:
在當(dāng)前類中給GetX添加別名,或者給DIO添加別名,二選一解決使用相同類名的類導(dǎo)致的錯(cuò)誤問題。
我選擇給GetX添加別名。

到此問題解決,一定要注意相同的情況,剛剛?cè)炙阉髁艘幌拢念愡€挺多的, 使用的時(shí)候有問題先檢查一下用的是哪個(gè)庫的類導(dǎo)致的。