最近由于项目需要找了一些FTP组件,最后选了edtftpnet。使用过程中,发现他不支持中文文件名的上传和下载,很是苦恼。
解决方法:下载edtftpnet,修改以下代码后重新编译生成,使用新的edtFTPnet.dll。
----------step1--------
需要修改的文件FTPClient.cs
修改位置:
/// <summary>
/// The encoding to use when dealing with file and directory paths.
/// </summary>
private Encoding controlEncoding = null;
/// The encoding to use when dealing with file and directory paths.
/// </summary>
private Encoding controlEncoding = null;
修改成:

修改后/// <summary>
/// The encoding to use when dealing with file and directory paths.
/// </summary>
//xing 2011.2.23 private Encoding controlEncoding = null;
private Encoding controlEncoding = Encoding.GetEncoding("GB2312");
/// The encoding to use when dealing with file and directory paths.
/// </summary>
//xing 2011.2.23 private Encoding controlEncoding = null;
private Encoding controlEncoding = Encoding.GetEncoding("GB2312");
---------step2--------
重新编译生成
本文介绍了解决edtFTPnet不支持中文文件名上传及下载的问题。通过修改FTPClient.cs文件中的编码设置为GB2312,并重新编译生成dll文件,即可实现对中文文件名的支持。
3686

被折叠的 条评论
为什么被折叠?



