Note that there are some explanatory texts on larger screens.

plurals
  1. POAndroid File Upload Crash issue
    primarykey
    data
    text
    <p>The following code uploads file to the server:</p> <pre><code>import org.apache.http.HttpResponse; import org.apache.http.HttpStatus; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.mime.content.FileBody; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.params.BasicHttpParams; import org.apache.http.params.HttpConnectionParams; import org.apache.http.params.HttpParams; public String uploadFileForStorage(String serverUrl, String filePath) { StringBuilder responseMsg = new StringBuilder(); try { final File file = new File(filePath); HttpParams httpParameters = new BasicHttpParams(); // Set the timeout in milliseconds until a connection is // established. HttpConnectionParams.setConnectionTimeout(httpParameters, UPLOAD_CONNECTION_TIME_OUT); // Set the default socket timeout (SO_TIMEOUT) // in milliseconds which is the timeout for waiting for data. HttpConnectionParams.setSoTimeout(httpParameters, UPLOAD_SOCKET_TIME_OUT); HttpClient httpClient = new DefaultHttpClient(httpParameters); if (serverUrl.contains("?")) { serverUrl = Utils.getProperUrlWithOutEncode(serverUrl); } HttpPost postRequest = new HttpPost(serverUrl); FileBody bin = new FileBody(file); CustomMultiPartEntity multipartContent = new CustomMultiPartEntity(new ProgressListener() { @Override public void transferred(long num) { total = total + num; } }); multipartContent.addPart(CUSTOM_FILE_TAG, bin); postRequest.setEntity(multipartContent); HttpResponse response = httpClient.execute(postRequest); if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) { BufferedReader reader = new BufferedReader(new InputStreamReader(response.getEntity().getContent(), "UTF-8")); String sResponse; while ((sResponse = reader.readLine()) != null) { responseMsg = responseMsg.append(sResponse); } } else { responseMsg = responseMsg.append(String.valueOf(response.getStatusLine().getStatusCode())); } } catch (Exception e) { isError = true; } return responseMsg.toString(); } } </code></pre> <p>Files are being uploaded from Tablet SDCard. The above code works fine with multiple Android Tablets like Samsung Galaxy Note 10.1 &amp; Micromax Funbook 10 inch but crashes while uploading files in Samsung P6200. The crash doesnot immediately occur , but after 5-10% of uploading. </p> <p>Previously , the upload was working fine on Samsung P6200 too . I made the factory reset of the tablet but the crash at upload persists. Also , OutOfMemoryException is not being shown in the logcat. The log shows NullPointerException in a class file which it shouldnot. Assuming the problem to be a HeapSize issue , how can I handle the issue.</p> <p>Using the above code , I am able to upload file upto 400 MB from SDCard using SIM(3G / WiFi) with Android Tablets like Samsung Galaxy Note 10.1 &amp; Micromax Funbook 10.</p> <p>should adding the following line of code help ?</p> <pre><code>HttpConnectionParams.setSocketBufferSize(httpParameters, 8192); // or any value other than //8192 </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload