【发布时间】:2017-10-09 11:07:04
【问题描述】:
string uri = "https://sometest.com/l/admin/ical.html?t=TD61C7NibbV0m5bnDqYC_q";
string filePath = "D:\\Data\\Name";
WebClient webClient = new WebClient();
webClient.DownloadFile(uri, (filePath + "/" + uri.Substring(uri.LastIndexOf('/'))));
/// filePath + "/" + uri.Substring(uri.LastIndexOf('/')) = "D:\\Data\\Name//ical.html?t=TD61C7NibbV0m5bnDqYC_q"
访问整个(字符串)uri,将自动下载一个 .ical 文件...文件名是 room113558101.ics(这不会有帮助)。
如何正确获取文件?
【问题讨论】:
-
您是否尝试过使用
HttpServerUtility.UrlEncode()? -
您认为哪个 URL 是文件名,因为从 / 开始包含“?”这肯定是无效的
-
@BugFinder 访问 uri 时,会自动下载文件...
-
uri.Substring(uri.LastIndexOf('/')))==ical.html?t=TD61C7NibbV0m5bnDqYC_qBugFinder 的意思是“?”因为添加到您的文件名是无效的。 -
这就是你最终使用的文件名“ical.html?t=TD61C7NibbV0m5bnDqYC_q”它包含“?”这是文件名中不允许的字符。我相信您只需要“ical.html”因此您需要修剪字符串的“?t=TD61C7NibbV0m5bnDqYC_q”部分