0

重複の可能性:
FtpWebRequest (.NET) を使用してディレクトリを変更するにはどうすればよいですか?

    private void InitFTPTransfer(string filePath)
    {
        string[] ftpAddress = ddcdao.ddcAddress.Split(new string[] { "http://" }, StringSplitOptions.None);
        FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://" + ftpAddress[1] + "/root/" + Path.GetFileName(filePath));
        request.Method = WebRequestMethods.Ftp.UploadFile;

        request.Credentials = new NetworkCredential(Properties.Settings.Default.SysFTPID, Properties.Settings.Default.SysFTPPassword);

        byte[] fileContents = File.ReadAllBytes(filePath);

        request.ContentLength = fileContents.Length;

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

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

        response.Close();

    }

特定のファイルをパスにアップロードする上記のコードがあります。

ftp 内で、ファイルをアップロードする特定のディレクトリを設定するにはどうすればよいですか?

この場合、Linux が組み込まれたマシンにアップロードするので、/root/somedirectory の下にある必要があります。

編集:リクエストパスにディレクトリパスを実際に含めるという提案を試みましたが、request.GetRequestStream(); の行に「システムエラー」というメッセージとともに System.Net.WebException をスローするだけです。

4

1 に答える 1

2

ディレクトリをリクエストのパスに入れます。つまり、

FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://" 
                         + ddcdao.ddcAddress + "/" + someDirectory 
                         + "/" someFile);
于 2012-09-06T04:14:23.957 に答える