Получите путь для рисованного изображения, чтобы я мог опубликовать его на сервере - PullRequest
0 голосов
/ 17 сентября 2018

У меня есть набор значков, хранящихся в папке для рисования.

В зависимости от выбора пользователей я буду публиковать эти значки в серверной части.

Когда я пытаюсь получить путь для этих объектов, я получаю следующую ошибку

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));

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

Есть идеи, как решить эту проблему?

1 Ответ

0 голосов
/ 17 сентября 2018

В качестве решения вы можете записать свой файл в файл.

Преобразовать в растровое изображение

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();
}

Вы можете использовать файл сейчас.

...