2010-02-02 63 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一次,而不是一次發送一次?這樣當每個塊完成時,您將能夠更新進度。