应用程序从URL下载文件

时间:2017-11-02 01:05:34

标签: c# windows email download

Email Link

所以我目前在一家工程公司工作,我们通过Aconex接收文件(Aconex是一个基于Web的文档管理系统,适用于给定项目的所有咨询团队)。目前,我们有一个系统,我们从电子邮件中下载文件(电子邮件中有一个指向Aconex网站的链接)并将其存档在特定项目下的日期文件夹中。我附上了Aconex电子邮件链接的图片。

现在问题。有时,如果您在一天内收到20多个与项目相关的电子邮件(除了其他所有内容之外),这可能会非常压倒性,其中一些可能会漏掉这些空白。

基本上我想以某种方式自动化这个过程。我希望用户能够将电子邮件链接添加到应用程序,点击'处理'然后下载文件并在特定项目下归档。

我有一些基本的编程经验(主要是在c#中),并希望将其作为我的第一个真实世界'编程项目。

非常感谢任何可以提供的帮助。

谢谢大家!

1 个答案:

答案 0 :(得分:0)

那么,实际上您是否想要从公共可用的Web服务器下载HTTP请求?

标题中需要这两个:

using System.IO;
using System.Net;

IO将帮助您弄乱本地文件系统路径,目录等。检查:https://msdn.microsoft.com/en-us/library/54a0at6s(v=vs.110).aspx

Net命名空间包含许多用于创建请求或下载文件的选项。

然后在一个方法中创建一个WebRequest实例,例如创建具有URI对象作为输入的静态方法:

var httpRequest = WebRequest.Create(urlObject);

//在这里你设置你的东西,如授权或请求方法等:

httpRequest.Method = "GET";
httpRequest.Timeout = settings.timeout;

// and finally call the request (this is an async approach)
httpRequest.BeginGetResponse(getResponse, this);

您可以在此获得回复

public void getResponse(IAsyncResult __result)
{
   WebResponse response = httpRequest.EndGetResponse(__result);

   // here you deal with the response

}

或者您可以使用更简单的方法:

var webClient = new WebClient();
Uri urlObject = new Uri("http://yourUrl");
String localPath = "local\\filesystem\\path.file";
webClient.DownloadFileAsync(urlObject, localPath, this);

检查:https://msdn.microsoft.com/en-us/library/w8bysebz(v=vs.110).aspx

我的问题是否正确?