0

現在取り組んでいる Web アプリケーションの場合、インターネットから Web サーバーにファイルをダウンロードしたいと考えています。以下のコードを使用して、ファイルを Web サーバーのハード ドライブにダウンロードできます。これを機能させるには、宛先パスに何を設定する必要がありますか。このサイトは共有ホスティング環境でホストする予定です。

using System.Net;

using(var client = new WebClient())
{
    client.DownloadFile("http://file.com/file.txt", @"C:\file.txt");
}
4

2 に答える 2

1

私はそれを行う一般的な方法はこれだと思います:

string appdataFolder = AppDomain.CurrentDomain.GetData("DataDirectory").ToString();

また

string appdataFolder = System.Web.HttpContext.Current.Server.MapPath(@"~/App_Data");

また、WebClientクラスはIDisposableを実装しているため、disposeまたはstructを使用する必要があることに注意してください。
そして、c#の命名規則を読んでいただきたいと思います(ローカル変数は通常小文字で始まります)。

于 2012-09-27T06:20:41.160 に答える
0

ftp リクエストを介してマシンからサーバーにアップロードできます。

string _remoteHost = "ftp://ftp.site.com/htdocs/directory/";
    string _remoteUser = "site.com";
    string _remotePass = "password";
    string sourcePath = @"C:\";

    public void uploadFile(string name)
    {
        FtpWebRequest request = (FtpWebRequest)WebRequest.Create(_remoteHost +name+ ".txt");
        request.Method = WebRequestMethods.Ftp.UploadFile;

        request.Credentials = new NetworkCredential(_remoteUser, _remotePass);


        StreamReader sourceStream = new StreamReader(sourcePath + name+ ".txt");
        byte[] fileContents = Encoding.UTF8.GetBytes(sourceStream.ReadToEnd());
        sourceStream.Close();
        request.ContentLength = fileContents.Length;

        Stream requestStream = request.GetRequestStream();
        requestStream.Write(fileContents, 0, fileContents.Length);
        requestStream.Close();

        FtpWebResponse response = (FtpWebResponse)request.GetResponse();

        response.Close();
    }
于 2012-09-27T06:38:14.097 に答える