gpt4 book ai didi

c# - 如何检查 FtpWebRequest 是否有错误

转载 作者:太空狗 更新时间:2023-10-29 21:37:08 25 4
gpt4 key购买 nike

如果我使用 System.Net.FtpWebRequest 将文件上传到 vsftpd 服务器,我是否需要使用 GetResponse 检查文件是否已正确上传?还是我会为每个错误得到一个异常(exception)?我应该检查 System.Net.FtpWebResponse 中的什么?

最佳答案

是的,您想从请求对象中获取 FTPWebResponse 对象...像这样:

 FtpWebRequest request = (FtpWebRequest)WebRequest.Create(serverUri);
request.Method = WebRequestMethods.Ftp.UploadFile;

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

byte[] fileraw = File.ReadAllBytes("CompleteLocalPath");

try
{
Stream reqStream = request.GetRequestStream();

reqStream.Write(fileraw, 0, fileraw.Length);
reqStream.Close();
}
catch (Exception e)
{
response = (FtpWebResponse) request.GetResponse();
// Do something with response.StatusCode
response.Close();
}

您需要检查 Ftp.WebResponse.StatusCode。

StatusCode 中有相当多的成员可以返回,因此检查它可能很棘手。

这是可能返回的代码/描述列表:

FtpStatusCode

编辑:如果传输出现问题,它应该在您启动流写入器时抛出异常。你可以做的是用 try-catch 包围它,如果出现问题,你将能够获取状态代码并将其打印到你正在使用的任何日志媒体上,这样你就可以看到具体的问题是什么。我修改了上面的代码以反射(reflect)所有这些(仅使用一种传输方式,您可以使用自己的方式)。

关于c# - 如何检查 FtpWebRequest 是否有错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1906858/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com