2011-07-27 44 views
1

デバイスファイルシステムからサーバーに画像をアップロードしようとしています。 WIFI接続を使用すると正常にアップロードされますが、GPRSの場合は失敗します。私のコードは以下の通りです:HttpUrlConnectionを使用して画像をアップロードする

String request=null; 
byte[] attachmentData; 
//read the image from the file system 
attachmentData=bytesReadfromthefilesystem; 
//I use Apache's Base64 encoding to convert the byte array to string  
request=Base64.encode(data); 

    URL url = new URL(
     "http://mydomain.com:9090//abc/http?ID=12345"); 
     HttpURLConnection httpURLConnection = (HttpURLConnection) url 
      .openConnection(); 
    httpURLConnection.setRequestProperty("Content-Type", 
      "text/plain"); 
    httpURLConnection.setRequestMethod("POST"); 
    httpURLConnection.setDoOutput(true); 
    httpURLConnection.setChunkedStreamingMode(0); 
    httpURLConnection.connect(); 
    OutputStream outStream outStream =httpURLConnection.getOutputStream(); 
    if (outStream != null) { 
      if (request.getData().length() > 0) { 
       outStream.write(request.getBytes()); 
      } 

      outStream.flush(); 
      outStream.close(); 
      outStream = null;  
     } 

画像サイズは1MBに近いです。私はサムスンギャラクシーポップ(Android 2.2.1)を試しています。私もエラーはありません。私はここに何かを見逃していますか?誰かが親切に私にこれを手伝ってもらえますか?前もって感謝します。

+0

画像は、私がアップロードしようとするサーバーに到達しない:) – dimsuz

+0

を「アップロードに失敗」を定義します。 :) –

答えて

-1

setConnectionTimeout()〜300000(5分)かそのようなものを試してください。

+0

私は5分にタイムアウトを設定しましたが、まだ同じであるようです。これを行うための他の良い方法はありますか? –

+0

MultiPartPostを作成してください。これを行う方法のSO [スレッド](http://stackoverflow.com/questions/3038409/how-to-send-http-post-request-and-recieve-response/3038747#3038747)を確認してください。 –

+0

GPRS –

1

AndroidManifestファイルの権限を設定しましたか?

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/> 
関連する問題