【问题标题】:FTP stream request stream issueFTP流请求流问题
【发布时间】:2014-07-25 11:59:50
【问题描述】:

我得到的错误是网络异常。请求的 URI 对于此 FTP 命令无效。

我不确定如何解决它。任何人有任何想法?谢谢

private void SendFile(FileInfo file)
        {
            Console.WriteLine("ftp://" + ipAddressTextField.Text);
            // Get the object used to communicate with the server.
            string ftp = "ftp://" + ipAddressTextField.Text;
            FtpWebRequest request = (FtpWebRequest)WebRequest.Create(ftp);
            request.Method = WebRequestMethods.Ftp.UploadFile;

            // This example assumes the FTP site uses anonymous logon.
            request.Credentials = new NetworkCredential(usernameTextField.Text, passwordTextField.Text);


            // Copy the contents of the file to the request stream.
            byte[] fileContents = File.ReadAllBytes(file.FullName);
            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();
        }

【问题讨论】:

    标签: c# ftp system.net.webexception


    【解决方案1】:

    您似乎没有为上传设置目标文件名,因此服务器没有用于上传文件的文件名。

    您可以使用类似的东西将其设置为与源文件名相同;

    string ftp = "ftp://" + ipAddressTextField.Text + "/" + file.Name;
    Console.WriteLine(ftp);
    

    若要在文件名可能包含特殊字符的情况下更稳健地创建 Uri,您可以使用 Uri 类来构建它,然后将其传递给 WebRequest.Create。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-07-27
      • 1970-01-01
      • 2011-04-27
      • 1970-01-01
      • 2023-04-03
      • 1970-01-01
      • 2021-03-09
      • 1970-01-01
      相关资源
      最近更新 更多