1. 程式人生 > >C# ftp 上傳檔名中包含#號導致上傳檔名缺失解決方案

C# ftp 上傳檔名中包含#號導致上傳檔名缺失解決方案

問題: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;
        }