一旦通过FTP传输,某些文件将无法打开

时间:2015-03-18 16:51:54

标签: .net visual-c++ ftp c++-cli

我有一个非常基本的控制台应用程序,我用C ++开发 - CLI。所有应用程序都将文件传输到ftp服务器。每个文件都会根据需要进行传输。我可以打开

.jpeg .png .gif

但是当我尝试打开.docx.xlsx时,我收到以下错误消息

enter image description here

下面的

是相关的代码片段

const int bufferLength = 2048;
    array<Byte>^buffer = gcnew array < Byte >(bufferLength);
    int count = 0;
    int readBytes = 0;
    FileStream^ stream = File::OpenRead(originalDirPath + e->Name);
    do
    {
        readBytes = stream->Read(buffer, 0, bufferLength);
        requestStream->Write(buffer, 0, bufferLength);
        count += readBytes;
    }
    while (readBytes != 0);
    Console::WriteLine("Writing {0} bytes to the stream.", count);

我似乎无法弄清楚我出错的地方

1 个答案:

答案 0 :(得分:2)

您正在记录变量readBytes中实际读取的字节数,但您正在写入缓冲区的大小,而不是读取的字节数。您拨打write()的电话应使用readBytes,而不是bufferLength