【发布时间】:2019-06-16 21:41:41
【问题描述】:
我尝试使用 Webclient 从 URL 下载文件,但下载的文件无法打开且大小为 0 字节,
你能帮我找出问题所在
下面是我正在使用的代码:
using (WebClient client = new WebClient())
{
client.DownloadFile("https://anticipa-pre.crm4.dynamics.com/Activities/Attachment/download.aspx?AttachmentType=5&IsNotesTabAttachment=1&AttachmentId=dba4e278-2110-e911-8140-5065f38ada91&CRMWRPCToken=tzNg2xRKEemBV1Bl84vUEa8EEKjO6%2fTiao%2b9Wa9pQd%2f2CmDOgnckhoaIGqzrXSp6&CRMWRPCTokenTimeStamp=636838278955012633",
@"C:\Users\ayousbai\DNIs\dni7.jpg");
}
【问题讨论】:
-
要打开此链接,您需要进行身份验证。也许您需要添加一些凭据。
-
之所以没有抛出异常是因为它返回“302 Found”,这是一种重定向方式。除非 WebClient 跟随重定向到登录页面或诸如此类的东西,否则您实际上会返回一个空结果(+ 标头说 302 found + 要转到的 url),这就是这些文件为空的原因。您必须正确处理身份验证和重定向。
标签: c# file download webclient