问题:ftp 上传文件名中如果包含#号会导致上传到服务器上的文件名缺失?
解决方案:将文件名用 HttpUtility.UrlEncode(‘文件名’)后正常,需要引用System.Web命名空间
/// <summary>
/// 拼接URL
/// </summary>
/// <param name="host">主机名</param>
/// <param name="remotePath">地址</param>
/// <param name="fileName">文件名</param>
/// <returns>返回完整的URL</returns>
private string UrlCombine(string host,int port, string remotePath, string fileName)
{
string result = new Uri(new Uri(new Uri((host+":"+port.ToString()).TrimEnd('/')), remotePath), HttpUtility.UrlEncode(fileName)).ToString(); ;
return result;
}
本文介绍了一个FTP上传文件时遇到的问题,当文件名包含#号时,上传到服务器的文件名会缺失。通过使用HttpUtility.UrlEncode方法对文件名进行编码,成功解决了这一问题。文章提供了具体的代码实现,包括如何拼接完整的URL。
1156

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



