2013-12-05 10 views
0

Я пытаюсь загрузить файл из моего андроида устройства к Kinvey хранения файла, но я получаю:Kinvey Android SDK - File Uploading - SocketTimeoutException: Чтение таймаут

java.net.SocketTimeoutException: Read timed out. 

Я вижу файл закачанный на консоли Kinvey, но он поврежден, и размер файла при попытке загрузки составляет 10 МБ, где размер оригинального файла составляет ~ 50 МБ. Код выглядит следующим образом (довольно близко к документации):

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

FileMetaData metadata = new FileMetaData(); //create the FileMetaData object 
metadata.setId("images"); 
metadata.setFileName("images.zip"); 
AccessControlList acl = new AccessControlList(); 
acl.setGloballyReadable(true); 
metadata.setAcl(acl); 

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

    @Override 
    public void onSuccess(Void arg0) { 
     // TODO Auto-generated method stub 

    } 

    @Override 
    public void onFailure(Throwable arg0) { 
     // TODO Auto-generated method stub 
    } 

    @Override 
    public void progressChanged(MediaHttpUploader uploader) throws IOException { 
    } 
}); 

Я отправил тот же вопрос here (Kinvey Support Forums).

Update

После ответа ewilly, я сделал несколько тестов.

  • Загрузил файл ~ 9mb. Работает отлично. Можно загрузить и извлечь файл не поврежден. Отобразится правильный размер файла.
  • Загрузил файл ~ 19mb, загружает без socketTimeoutException. Но Загруженный файл поврежден. При загрузке отображается размер файла 10 МБ.
  • Предыдущий случай по-прежнему обозначает размер файла ~ 50 МБ.

ответ

0

Я читал FAQ kinvey. Это может вам помочь:

Я думаю, что файл youre слишком велик. API kinvey разрешает импортировать файлы менее 20 МБ. В этом случае вы можете разбить файл на куски или создать скрипт для импорта с использованием REST API.

+0

Я видел это, но я предполагал, что это применяется только при загрузке файлов непосредственно из консоли администратора Kinvey в Интернете. Тем не менее, я сделал несколько тестов, посмотрел обновленный вопрос. – janakagamini

+0

Из ваших результатов теста кажется, что более 10 МБ вы начинаете испытывать проблемы (неправильная диммутация дисплея) и для исключения большого времени ожидания файла. – ewilly

+0

Да, это довольно очевидно. – janakagamini

0

Вы пытались повторить загрузку файла после сбоя?

Обратите внимание, что 50mb - довольно большой файл, поэтому вы также можете убедиться, что устройство находится на Wi-Fi. Если вы используете план данных, и соединение отключается, к сожалению, этого мало, что можно сделать по этому поводу.

+0

Для загрузки. Он находится на физическом устройстве (HTC One). Я тестировал как в локальной сети WiFi, так и в моем LTE-соединении. Оба они очень надежны. Я тестирую загрузку файла с веб-консоли Kinvey в браузере. Кстати, это zip-файл, и он поврежден при загрузке, а размер файла - 10 МБ. Я уже тестировал эту проблему и заметил, что файлы под 10mb работают нормально. Но файлы размером более 10 МБ имеют проблему. 10mb довольно произволен, нигде в документации не упоминается, что существует такой предел. Любая поддержка от Kinvey? – janakagamini