我想完成一個黑莓上的大文件上傳。我成功地能夠上傳一個文件,但只有當我讀取文件並一次上傳1個字節時才能上傳文件。對於大文件,我認爲這是性能下降。我希望能夠一次更多地讀取和寫入更多的內容。如果我嘗試將我的緩衝區初始化爲除1以外的任何內容,那麼在寫入所有內容後,我從未從服務器獲得響應。試圖上傳塊
任何想法,爲什麼我一次只能使用1個字節上傳?
z.write(boundaryMessage.toString().getBytes());
DataInputStream fileIn = fc.openDataInputStream();
boolean isCancel = false;
byte[]b = new byte[1];
int num = 0;
int left = buffer;
while((fileIn.read(b)>-1))
{
num += b.length;
left = buffer - num * 1;
Log.info(num + "WRITTEN");
if (isCancel == true)
{
break;
}
z.write(b);
}
z.write(endBoundary.toString().getBytes());
'z'的類是什麼? – MByD 2011-05-08 09:03:16
爲什麼使用DataInputStream?如果您使用openInputStream()並按照某些答案的建議正確地進行字節計數,是否會出現此問題? – 2011-05-08 21:13:54
你使用什麼設備和操作系統?還請添加您使用的其他代碼,以便顯示如何打開/處理/關閉HttpConnection。 – 2011-05-09 07:47:07