我在可绘制文件夹中存储了一组图标。
基于用户的选择,我会将这些图标发布到后端。
当我尝试检索这些可绘制对象的路径时,出现以下错误
HTTP失败: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));
我已经提到以下link,说不可能检索可绘制对象的路径。
关于如何解决此问题的任何想法?
答案 0 :(得分:1)
作为解决方案,您可以将可绘制对象写入文件。
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();
}
您现在可以使用文件。