gpt4 book ai didi

java - FTP 文件上传 - 文件名编码错误

转载 作者:行者123 更新时间:2023-12-01 21:39:20 25 4
gpt4 key购买 nike

我使用 apache 的 commons-net 3.5 将文件上传到远程 FTP 服务器,并在打开连接之前将连接编码设置为 UTF-8,如下所示。

ftpClient.setAutodetectUTF8(true);
ftpClient.setControlEncoding("UTF-8");

这是发送文件的部分

private void uploadFile(byte[] data, String path, String fileName, FTPClient ftpClient) throws IOException {
ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
ftpClient.setFileTransferMode(FTPClient.BINARY_FILE_TYPE);
boolean uploadSuccess = ftpClient.storeUniqueFile(fileName, new ByteArrayInputStream(data));

问题就在这里;发送名称包含土耳其字符的文件时,结果文件命名不正确。就像,

Kimlikş.pdf -> KimlikÅ.pdf

但是如果我使用ftp4j ,一切正常。以前有人有过这个吗?我这边的数据发送错误。我使用 Microsoft Network Monitor 监控流量。这是原始请求:

FTP FTP:Request from Port 62642,'STOR KimlikÅ.pdf'  {TCP:5879, IPv4:134}

最佳答案

尝试使用 WinSCP - 它非常有用。

https://winscp.net/eng/download.php

没有 FileZilla,没有 TotalCommander - 只有 WinSCP。

  • 然后再次复制(例如,我有大约 6k 个文件,只有 50 个带有西里尔字母的文件),仅在问题提示时给出“全部否”,WinSCP 仅复制剩余文件。太棒了!

给这款免费软件 5 颗星!

关于java - FTP 文件上传 - 文件名编码错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38957613/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com