Résoudre les noms de fichiers de téléchargement Java tronqués : 1. Définissez l'en-tête de la requête pour spécifier l'encodage ; 2. Utilisez URLDecoder pour décoder ; 3. Obtenez le nom du fichier d'origine pour éviter les problèmes d'encodage ; 4. Utilisez des bibliothèques tierces (Apache Commons IO ; , JCodec); 5. Contacter les paramètres d'encodage côté serveur.
Java Download File Name Garbled Solution
Lors du téléchargement d'un fichier à partir d'une URL à l'aide de Java, le nom du fichier peut être tronqué en raison d'un encodage de fichier incorrect. Selon la situation spécifique, il existe plusieurs solutions :
1. Définissez le format d'encodage correct
<code class="java">URLConnection connection = url.openConnection(); connection.setRequestProperty("Accept-Charset", "UTF-8");</code>
Spécifiez l'encodage correct des caractères du fichier renvoyé par le serveur en définissant le paramètre Accept-Charset
. en-tête de requête. Accept-Charset
请求头,指定服务器返回文件的正确字符编码。
2. 使用 URLDecoder 解码
<code class="java">String fileName = URLEncoder.decode(response.getFileName(), "UTF-8");</code>
使用 URLDecoder.decode()
函数将文件名解码成 UTF-8 格式。
3. 根据 HTTP 头获取原始文件名
<code class="java">String fileName = response.getHeaderField("Content-Disposition"); if (fileName != null) { fileName = fileName.substring(fileName.indexOf("filename=") + 9); fileName = fileName.substring(0, fileName.length() - 1); }</code>
从 HTTP 头中提取原始文件名,避免编码问题。
4. 使用第三方库
一些第三方库提供了便捷的方法来处理乱码文件名,例如:
FileUtils.writeByteArrayToFile()
函数自动判断文件名编码并进行解码。FileGrab()
函数提供 getFile()
rrreeeUtilisez la fonction URLDecoder.decode()
pour décoder le nom du fichier au format UTF-8.
FileUtils.writeByteArrayToFile( )
La fonction détermine automatiquement l'encodage du nom de fichier et le décode. 🎜FileGrab()
fournit la méthode getFile()
pour obtenir le nom de fichier d'origine du fichier téléchargé. 🎜🎜🎜🎜5. Contactez le serveur 🎜🎜🎜 Si les solutions ci-dessus ne sont pas efficaces, veuillez contacter le développeur côté serveur pour vérifier si les paramètres d'encodage des fichiers côté serveur sont corrects. 🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!