2017-01-04 1 views
1

Я работаю над функцией вложения приложений для блэблоксов в android.quickbloxsdk: Пропущенный объект не является файлом, неправильным типом содержимого?

Что я пытаюсь сделать: OnViewClicked один CreateChooser(type:images/*) будет открыт. После выбора изображения он будет достигнут onActivityResult, где он хранит Uri. Сообщение, что sendAttachment функция называется.

Вот мой кодирующая часть:

private Uri uri; 
@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    switch (requestCode) { 
     case FILE_SELECT_CODE: 
      if (resultCode == RESULT_OK) { 
       // Get the Uri of the selected file 
       uri = data.getData(); 
      } 
      break; 
    } 
    super.onActivityResult(requestCode, resultCode, data); 
} 

public void sendAttachment() { 

     File filePhoto = new File(uri.getPath()); 
     Boolean fileIsPublic = false; 

     QBContent.uploadFileTask(filePhoto, fileIsPublic, null, new QBProgressCallback() { 
      @Override 
      public void onProgressUpdate(int i) { 
       // i - progress in percentages 
       Log.e(TAG, "onProgressUpdate: " + i); 
      } 
     }).performAsync(new QBEntityCallback<QBFile>() { 
      @Override 
      public void onSuccess(QBFile qbFile, Bundle bundle) { 

       Integer id = qbFile.getId(); 

       // create a message 
       QBChatMessage chatMessage = new QBChatMessage(); 
       chatMessage.setProperty("save_to_history", "1"); // Save a message to history 

       // attach a photo 
       QBAttachment attachment = new QBAttachment("photo"); 
       attachment.setId(qbFile.getId().toString()); 
       chatMessage.setBody(""); 
       chatMessage.addAttachment(attachment); 

       // send a message 
       try { 
        mQBChatDialog.sendMessage(chatMessage); 
        mtvEmpty.setVisibility(View.INVISIBLE); 
       } catch (SmackException.NotConnectedException e) { 
        e.printStackTrace(); 
       } 
      } 

      @Override 
      public void onError(QBResponseException errors) { 
       Log.e("DATA", TextUtils.join(",", errors.getErrors())); 
      } 
     }); 
} 

LogCat ОШИБКА:

E/ERROR: File upload onError,File does not exist,Passed object is not file,Incorrect content type

ответ

1

Я узнал решение по этому вопросу.

Этот тип ошибки отображается каждый раз, когда вы пытаетесь добавить файл , который физически не существует на вашем устройстве.

Для решения проблемы я просто загрузил новый файл &. Мой код работал с очарованием.

+0

вы можете поделиться примером кода для этой проблемы. Мне нужно загрузить изображение из камеры/галереи – Pallavi

+0

@Pallavi Что именно вы хотите? .. Я имею в виду только uploadFileTask или File Selection from gallary + uploadFileTask? – buzzingsilently

+0

У меня есть галактическая часть, но я хочу синхронизировать и – Pallavi

Смежные вопросы