1

我正在尝试在 ftp Web 服务器上上传文件。我在 windows phone 中找不到FtpWebRequest类,所以我尝试通过添加可移植类库的新项目来尝试它。我添加了以下代码

 public void GetDataUsingDataContract(byte[] fileByte)
    {
        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("uname", "pass");

        // Copy the contents of the file to the request stream.
       // StreamReader sourceStream = new StreamReader("testfile.txt");
        byte[] fileContents = fileByte;//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();
    }

但也有同样的问题,即我找不到FtpWebResponse类。可移植类库是否支持它?

4

2 回答 2

0

我想你已经有了答案,FTPWebRequest / FTPWebResponse 在.NET 的可移植子集中不可用。

该子集由您可以在所有框架(Silverlight、XBox、Windows Phone 7/8、.Net xy 等)上找到的 API 组成

如果您在本机框架(例如 Windows Phone)中找不到 api,您将无法在可移植库子集中找到它。

如果你想在 windows phone 上使用 ftp,我猜你必须找到一个像 OpenNETCF FTP 这样为紧凑框架构建的第三方 api。

https://ftp.codeplex.com/

于 2013-07-26T07:41:07.373 回答
0

我不知道您是否考虑过Xamarin,但您正在寻找的实现可在System.Net.FtpWebRequest获得。

于 2015-10-15T10:46:52.593 回答