mag*_*gol 6 c# ftp powershell ftpwebrequest
如果我使用System.Net.FtpWebRequest上传文件到vsftpd服务器,我是否需要使用GetResponse来检查文件是否正确上传?或者每个错误都会出现异常吗?我该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();
}
Run Code Online (Sandbox Code Playgroud)
您需要检查Ftp.WebResponse.StatusCode.
StatusCode中有很多成员可以返回,因此检查它可能会很棘手.
这是可能返回的代码/描述列表:
编辑:如果传输出现问题,它应该在您启动流编写器时抛出异常.您可以做的就是将try-catch包裹起来,如果出现问题,您将能够获取状态代码并将其打印到您正在使用的任何日志介质中,这样您就可以看到具体问题是什么.我修改了上面的代码以反映所有这些(只使用一种传输方式,你可以使用自己的代码).
| 归档时间: |
|
| 查看次数: |
10874 次 |
| 最近记录: |