2

次のコードは、ファイルをサーバーにアップロードするために使用されています。

        public static boolean uploadFile(String serverUrl, String filePath) {
                boolean status = false;
                try {
                    File file = new File(filePath);
                HttpParams httpParameters = new BasicHttpParams();
                int timeoutConnection = 3000;
                HttpConnectionParams.setConnectionTimeout(httpParameters, timeoutConnection);
                // Set the default socket timeout (SO_TIMEOUT) 
                // in milliseconds which is the timeout for waiting for data.
                int timeoutSocket = 5000;
                HttpConnectionParams.setSoTimeout(httpParameters, timeoutSocket);
                HttpClient httpClient = new DefaultHttpClient(httpParameters);
                HttpPost postRequest = new HttpPost(serverUrl);
                FileBody bin = new FileBody(file);
                MultipartEntity reqEntity = new MultipartEntity(HttpMultipartMode.STRICT);
                reqEntity.addPart(IShipdocsMobileConstants.CUSTOM_FILE_TAG, bin);
                postRequest.setEntity(reqEntity);
                HttpResponse response = httpClient.execute(postRequest);
                if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
                    status = true;
                }
               }
              catch (Exception e) {
                        status = false;
        }
    return status;
    }

ファイルがファイルのアップロードを開始している間に接続がない場合は例外がスローされますが、ファイルがすでにアップロードを開始している場合は例外はスローされず、しばらくしてから (おそらく 50% のアップロード後)、接続が失われます。

現在、アップロードには WiFi と GPRS で有効化された SIM の両方を使用しています。

例外を取得するために上記のコードに追加する必要があるその他のパラメーター。

ヒント/提案は大歓迎です。

4

0 に答える 0