2010-02-02 42 views

回答

0

我现在可以回答我的问题,

林不使用SOAP再上传我的文件在我的解决方案,进出口使用的HttpWebRequest现在,

1)是即时上传的块我的大文件(每个夹头是2MB), 2)每个块(1 MB)可以给我每个BufferSize(我的情况是4 KB);

所以有一个很大的循环,foreach(文件中的块){}。

和大环内还有另外一个循环,作为即时通讯使用的HttpWebRequest:

long buffer = 4096; 
Stream stm = request.GetRequestStream(); 
while (remainingOfChunkWithReq != 0) 
{ 
    stm.Write(buffer, 0, bytesRead); 
    remainingOfChunkWithReq = remainingOfChunkWithReq - bytesRead; 
    bytesRead = memoryStream.Read(buffer, 0, bytesSize); 
    //Send Progress 
} 

再继续发送请求。并收到回复。

1

你可以尝试一次发送文件“块”,如1MB一次,而不是一次发送一次?这样当每个块完成时,您将能够更新进度。