Ошибка загрузки getfile через Chilkat ftp2: количество загруженных байтов правильное, но меньше (неверно) ожидаемого значения - PullRequest
0 голосов
/ 13 марта 2019

Я хотел бы попросить помощи об этой странной проблеме: в сообщении об ошибке Chilkat ftp2 число загруженных байтов является правильным и равно количеству байтов удаленного файла, но выдана ошибка «Количество загруженных байтов меньше ожидаемого» потому что expectedbytecount неверно, и кажется, что количество байтов ПРЕДЫДУЩЕГО ФАЙЛА ...

Моя ситуация такова:

  • ftp2.AutoGetSizeForProgress свойство = 0
  • ftp2.ClearDirCache, вызываемый до GetFile

У вас есть предложения по этому поводу? Я прикрепляю xml сообщение об ошибке.

<GetFile>
<DllDate>Aug 30 2017</DllDate>
<ChilkatVersion>9.5.0.69</ChilkatVersion>
<UnlockPrefix>DELTASFTP</UnlockPrefix>
<Architecture>Little Endian; 32-bit</Architecture>
<Language>.NET 4.6 VS2017</Language>
<VerboseLogging>0</VerboseLogging>
<ProgressMonitoring>
  <enabled>yes</enabled>
  <heartbeatMs>0</heartbeatMs>
  <sendBufferSize>65536</sendBufferSize>
</ProgressMonitoring>
<downloadToFile>
  <localFilename>C:\Porro\PIGRECO_UPD\201903081414_TMP\PIGRECO_DB\DATABASES\PORRO.DB.key</localFilename>
  <downloadToOutput2>
    <modeZ>0</modeZ>
    <binaryMode>1</binaryMode>
    <setupDataConnection>
      <info>passive transfer mode</info>
      <setupPassiveDataSocket>
        <sendCommand>
          <sendingCommand>PASV</sendingCommand>
        </sendCommand>
        <readCommandResponse>
          <replyLineQP>227 Entering Passive Mode (80,16,52,55,157,196)</replyLineQP>
        </readCommandResponse>
        <dataConnect>
          <hostname>80.16.52.55</hostname>
          <port>40388</port>
          <socketOptions>
            <SO_SNDBUF>262144</SO_SNDBUF>
            <SO_RCVBUF>4194304</SO_RCVBUF>
            <TCP_NODELAY>0</TCP_NODELAY>
            <SO_KEEPALIVE>0</SO_KEEPALIVE>
          </socketOptions>
          <dataConnectSuccess>1</dataConnectSuccess>
        </dataConnect>
      </setupPassiveDataSocket>
    </setupDataConnection>
    <sendCommand>
      <sendingCommand>RETR PORRO.DB.key</sendingCommand>
    </sendCommand>
    <readCommandResponse>
      <replyLineQP><![CDATA[150 Opening data channel for file download from server of "/PIGRECO_UPD/201=903081414/PIGRECO_DB/DATABASES/PORRO.DB.key"]]></replyLineQP>
    </readCommandResponse>
    <downloadRate>0</downloadRate>
    <totalNumBytesReceived>10</totalNumBytesReceived>
    <receiveTimeMs>Elapsed time: 16 millisec</receiveTimeMs>
    <info>Data connection closed.</info>
    <readCommandResponse>
      <replyLineQP><![CDATA[226 Successfully transferred "/PIGRECO_UPD/201903081414/PIGRECO_DB/DATABASE=S/PORRO.DB.key"]]></replyLineQP>
    </readCommandResponse>
    <error>Downloaded byte count less than expected byte count.</error>
    <downloadedByteCount>10</downloadedByteCount>
    <expectedByteCount>93756912</expectedByteCount>
  </downloadToOutput2>
  <downloadToOutput>Elapsed time: 93 millisec</downloadToOutput>
</downloadToFile>
<error>Failed.</error>

...