下载部分字节FtpWebRequest c#

本文关键字:FtpWebRequest 字节 下载部 | 更新日期: 2023-09-27 18:09:27

我的情况是,我需要活动日志,但它们不能添加到数据库表中。我需要它们实时运行,所以我想与其每隔25秒下载一次整个日志文件,不如下载一部分字节。我在FtpWebRequest中没有看到任何参数,我可以指定这个

所以问题是:我如何通过FtpWebRequest下载文件的一部分?(如。前1024字节)

下载部分字节FtpWebRequest c#

如果我没理解错的话,那么你可以继续下载,直到下载达到你想要的字节大小,然后你可以停止下载并保存实际的字节

编辑:

创建你想要的字节[],例如:

byte[] buffer = new byte[2048];

你可以通过FtpwebRequest下载:

request.Method = WebRequestMethods.Ftp.DownloadFile;

则继续写入缓冲区

中的字节
 private void DownloadFile(string userName, string password, string ftpSourceFilePath, string localDestinationFilePath)
    {
        int bytesRead = 0;
        byte[] buffer = new byte[2048];
        FtpWebRequest request = CreateFtpWebRequest(ftpSourceFilePath, userName, password, true);
        request.Method = WebRequestMethods.Ftp.DownloadFile;
        Stream reader = request.GetResponse().GetResponseStream();
        FileStream fileStream = new FileStream(localDestinationFilePath, FileMode.Create);
        while (true)
        {
            bytesRead = reader.Read(buffer, 0, buffer.Length);
            if (bytesRead == 0)
                break;
            fileStream.Write(buffer, 0, bytesRead);
        }
        fileStream.Close();       
    }