У меня есть набор значков, хранящихся в папке с возможностью переноса.
На основе выбора пользователей я отправлю эти значки в серверную часть.
Когда я пытаюсь получить путь к этим чертежам, я получаю следующую ошибку
HTTP FAILED: java.io.FileNotFoundException: (Нет такого файла или каталога)
Вот как я получаю путь
public String getURLForResource (int resourceId) {
return Uri.parse("android.resource://"+ BuildConfig.APPLICATION_ID+"/" +resourceId).toString();
}
File fileToUpload = new File(getURLForResource(R.drawable.icon));
Я упомянул следующее: ссылка говорит, что невозможно получить путь для объекта drawable.
Есть идеи, как я могу решить эту проблему?
да, это невозможно, потому что это не в физической файловой системе
В качестве решения вы можете записать свой файл в файл.
Bitmap bm = BitmapFactory.decodeResource(mContext.getResources(), R.drawable.your_drawable);
String path = Environment.getExternalStorageDirectory().toString();
File file = new File(path, "image" + System.currentTimeMillis() + ".jpg");
try (FileOutputStream out = new FileOutputStream(file)) {
bm.compress(Bitmap.CompressFormat.PNG, 100, out);
out.flush(); // Not really required
out.close(); // do not forget to close the stream
} catch (IOException e) {
e.printStackTrace();
}
Теперь вы можете использовать файл.