0

我正在从网站下载文件,它总是保存到我的下载文件中,有没有办法可以选择将文件保存到哪里?

public void myDownloadfile(string token, string fileid, string platform)
{
    Dictionary<string, string> parameters = new Dictionary<string, string>();
    parameters.Add("Token", token);
    parameters.Add("fileid", fileid);
    parameters.Add("plateform", platform);

    string url;
    url = "https://formbase.formmobi.com/dvuapi/downloadfile.aspx?" + "token=" + token + "&fileid=" + fileid + "&platform=" + platform;
    System.Diagnostics.Process.Start(url);
}
4

5 回答 5

5

System.Diagnostics.Process.Start只需在所需的 url 上打开您的默认网络浏览器。
您可以将浏览器设置为打开另存为对话框。

但更好地使用WebClient.DownloadFile: http: //msdn.microsoft.com/en-us/library/ez801hhe.aspx 它接收目标文件的路径作为它的参数之一。

于 2012-08-21T09:13:38.407 回答
5

由于您使用系统的标准浏览器下载文件,因此您必须在此处更改设置。


否则,您可能希望使用WebClient该类来下载文件,因为它与

using System.Net;

WebClient webClient = new WebClient();
webClient.DownloadFile("http://mysite.com/myfile.txt", @"c:\myfile.txt");

这里的例子)

于 2012-08-21T09:13:56.690 回答
1

不要使用 Process.Start 会启动默认浏览器来下载文件,下载位置将非常依赖于用户的系统设置。使用 WebClient 来下载它,它会更容易指定一个位置。

    public void myDownloadfile(string token, string fileid, string platform)
    {
        Dictionary<string, string> parameters = new Dictionary<string, string>();
        parameters.Add("Token", token);
        parameters.Add("fileid", fileid);
        parameters.Add("plateform", platform);

        string url;
        url = "https://formbase.formmobi.com/dvuapi/downloadfile.aspx?" + "token=" + token + "&fileid=" + fileid + "&platform=" + platform;
        System.Net.WebClient wc = new System.Net.WebClient()
        wc.DownloadFile(url, "C:\\myFile.ext")
    }
于 2012-08-21T09:14:53.037 回答
0

您可以使用 WebClient 下载数据并使用 SaveFile Dialog 设置开始的默认位置。

http://www.techrepublic.com/blog/programming-and-development/download-files-over-the-web-with-nets-webclient-class/695

于 2012-08-21T09:14:41.183 回答
0

您可以使用HttpResponse.

浏览链接:提示保存对话框下载文件

于 2012-08-21T09:16:39.550 回答