Start a new topic

File Uploading - SocketTimeoutException: Read timed out

I'm trying to upload a file from my android device, but I get: Read timed out.

I do see the file uploaded on the Kinvey Console, but it's corrupted and the file size when I try to download is 10mb, where as the original file size is ~50mb. The code is as follows (pretty close to the documentation):

File file = new File(Environment.getExternalStorageDirectory(), "");

FileMetaData metadata = new FileMetaData(); //create the FileMetaData object



AccessControlList acl = new AccessControlList();



mKinveyClient.file().upload(metadata, file, new UploaderProgressListener() {


public void onSuccess(Void arg0) {

// TODO Auto-generated method stub



public void onFailure(Throwable arg0) {

// TODO Auto-generated method stub



public void progressChanged(MediaHttpUploader uploader) throws IOException {



Hey, this usually occurs because of an unreliable internet connection. Also, note, 50mb is a large file! Are you on wifi or a data plan? Is this on an emulator or a physical device?

I would recommend getting your app to require wifi to download this, which should improve the connection. Also, have you attempted to retry the download if it fails?

For upload. It's on a physical device (HTC One). I have tested both on local WiFi network and my LTE connection. Both are very reliable.

I'm testing the file download from the Kinvey Web Console on the browser. It's a zip file by the way and, and it's corrupted, and the file size is 10mb.

I have tested this problem further now, and noticed that files under 10mb work fine. But files over 10mb have a problem. 10mb is pretty arbitrary, it is not mentioned anywhere in the documentation that there is a limit like this.

Is there anyone from Kinvey who can help me please? This has brought my development to a standstill.
Can anyone help?
Hey, I'm still investigating this one-- it is difficult to troubleshoot this kind of issue because there are so many factors involved.

What version of android are you running on your HTC one?

As a workaround, is it a possibility to upload the individual artifacts instead of the archive?

I'm just using a regular HTC One, with android 4.3. Were you able to recreate the problem on any of your devices?

My application needs require the files to be in an archive. As a workaround I'm currently storing the files in a different service and saving the link as a reference.

I've also tried uploading files via the REST API (following the guide on Kinvey), I couldn't get that working either. I get a signature mismatch error. We can't afford to spend more time debugging this so I we opted to store the files elsewhere, though we want to eventually get everything under one service. So please keep me updated on your progress.

Is there a limit for the file size that can be stored? In the future we expect to have 100~200mb files. In the documentation it's not mentioned (or I missed it), just that via the web console, uploads are limited to 20mb files. Lifting this limitation could also help us a lot, so we can just upload via the web console.
Login or Signup to post a comment