HttpClient (MultipartEntityBuilder) 上傳文件中文亂碼

背景

網(wǎng)頁上傳文件到A服務(wù)器,A將文件傳到B服務(wù)器保存,B接收文件后出現(xiàn)如下錯誤:

java.io.IOException: java.io.FileNotFoundException: 
...\uploads\c4e5540d5c????_??.png (文件名、目錄名或卷標(biāo)語法不正確。)

原因是文件名稱含有中文,導(dǎo)致亂碼。
經(jīng)測試,只有當(dāng)文件名稱含中文,且從A傳到B后會出現(xiàn)問題。

解決

設(shè)置MultipartEntityBuildermodeHttpMultipartMode.RFC6532,將數(shù)據(jù)以UTF-8編碼格式處理。

builder.setMode(HttpMultipartMode.RFC6532);

后記

最開始,在A、B代碼中各種設(shè)置轉(zhuǎn)UTF-8都無效,網(wǎng)上搜了各種方式。解決該問題用了將近1天時間。

一部分上傳代碼

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容