Я хочу использовать sendFileMessage
в sendbird api. Мне нужно значение файла, и я хочу использовать этот файл от drawable
(или assets
). sendBird APIСоздать файл из доступных для отправки с sendbird
это пропущено код из sendbird
Hashtable<String, Object> info = Helper.getFileInfo(getActivity(), uri);
final String path = (String) info.get("path");
File file = new File(path);
String name = file.getName();
String mime = (String) info.get("mime");
int size = (Integer) info.get("size");
sendFileMessage(file, name, mime, size, "", new BaseChannel.SendFileMessageHandler() {
public void onSent(FileMessage fileMessage, SendBirdException e) {
if (e != null) {
return;
}
mAdapter.appendMessage(fileMessage);
mAdapter.notifyDataSetChanged();
}
});
Этот код работает хорошо, который я получил uri
от открытого намерения изображения. но я хочу использовать для других целей, и я хочу, чтобы заменить этот код
File file = new File(path);
стать что-то вроде
File file = new File(<path or uri from drawable or assets>);
Я попытался с uri
Uri uri = Uri.parse("android.resource://com.package.name/raw/filenameWithoutExtension");
File file = new File(uri.getPath());
с InputStream
try {
File f=new File("file name");
InputStream inputStream = getResources().openRawResource(R.raw.myrawfile);
OutputStream out=new FileOutputStream(f);
byte buf[]=new byte[1024];
int len;
while((len=inputStream.read(buf))>0)
out.write(buf,0,len);
out.close();
inputStream.close();
}
catch (IOException e){}
всегда не удалось получить файл и код ошибки возврата ERR_REQUEST_FAILED 800220
большой. работаю, как я хочу. Спасибо. –