0
我爲android寫了一個web服務器。所以昨天我想添加上傳功能。Android:SocketServer讀取返回-1在上傳中
byte[] receivedBuffer = new byte[BUFFER_SIZE];
BufferedInputStream bis = new BufferedInputStream(_client.getInputStream(), BUFFER_SIZE);
int bytesRead = 0;
while ((bytesRead = bis.read(receivedBuffer,0,BUFFER_SIZE)) != -1) {
//do stuff with bytes
if (bis.available() == 0) {
break;
}
}
// this point
我的問題是當我上傳比400kb更大的文件時,讀取在文件上傳中返回-1。如果我看bis.available()在「此時」,仍呈現> 0
我試圖改變
bytesRead = bis.read(receivedBuffer,0,BUFFER_SIZE)
這個
bytesRead = bis.read(receivedBuffer)
另一件事我想是降低緩衝區大小,它的工作一點點大文件。另外我添加了thread.sleep下面如果(bis.availabe()== 0,並且它再次有所幫助。它幾乎像bis還在加載網絡中的數據當我打電話閱讀,當時沒有任何東西,然後返回-1。
我需要幫助它已經兩天了,我正試圖讓這個工作。
您是否在使用OutputStream進行上傳?這是服務器代碼還是Android應用程序代碼? – CrackerJack9
不,我正在使用瀏覽器的HTML表單標籤。服務器代碼或部分 – Pintac
服務器代碼。但就像我剛開始說的一個在android上運行的web服務器。 – Pintac