我正在尝试直接从 url 列表中下载文件。
除了.docx之外,我能够成功下载大多数文件。我能够下载.docx文件,但是当我尝试打开它时,错误消息显示"The file is corrupt and cannot be opened"
,当我尝试使用 Microsoft Word 修复它时,我收到另一条错误消息说"Microsoft Office cannot open this file because some parts are missing or invalid"
。下载pdf文件时我没有任何问题。
我的代码很简单,看起来像这样:
WebClient webClient = new WebClient();
webClient.DownloadFile("http://somehost/somefile.docx", "C:\\somefolder\\somefile.docx");
webClient.Dispose(); //I added this line just to see if it will fix the problem but no it didn't
我转到浏览器中的 url 并确保文件确实存在并且没有损坏。url 很好,我可以直接从浏览器中的 url 下载文件并打开文件。
附加信息:
我确实发现了 pdf url 和 docx url 不同的一件事,但我真的认为这与我的问题无关。当我在浏览器中转到 pdf url 时,pdf显示在浏览器中。但是,当我转到 docx url 时,页面没有显示任何内容,但文件的下载会自动开始。我不认为这会有所作为,但仅供参考。
编辑上午 10:38
我刚刚尝试了异步方法。我能够下载 docx 文件并打开它,但它显示为空白 word 文档,这仍然不正确。我从浏览器下载的同一个 docx 文件确实有内容。
webClient.DownloadFileAsync(new Uri("http://somehost/somefile.docx"),"C:\\somefolder\\somefile.docx");