0

我正在尝试了解 FtpWebRequest 的 MSDN 文档,更具体地说,如何使用 FTP 和 C# 上传

using System;
using System.IO;
using System.Net;
using System.Text;

namespace Examples.System.Net
{
    public class WebRequestGetExample
    {
        public static void Main ()
        {
            // Get the object used to communicate with the server.
            FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://www.contoso.com/test.htm");
            request.Method = WebRequestMethods.Ftp.UploadFile;

            // This example assumes the FTP site uses anonymous logon.
            request.Credentials = new NetworkCredential ("anonymous","janeDoe@contoso.com");

            // Copy the contents of the file to the request stream.
            StreamReader sourceStream = new StreamReader("testfile.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();

            Console.WriteLine("Upload File Complete, status {0}", response.StatusDescription);

            response.Close();
            }
        }
    }
}

在上面的代码中,它们引用了 2 种文件类型。我是否正确假设 testfile.txt 是“源”文件(在本地计算机上)而 test.htm 是什么 testfile.txt 也将被重命名?

4

1 回答 1

4

是的 - 您正在上传到, test.htm加载数据。你可以说因为是 URL 的一部分(所以是远程的),而只是通过创建一个文件来加载。 testfile.txttest.htmtestfile.txtStreamReader

(值得注意的是,这段代码在各个方面都非常糟糕,顺便说一下 - 特别是在资源处理方面。不要将其视为体现最佳实践......)

于 2013-02-11T13:23:44.593 回答