我想从图库中选择图像,并将其复制到SDCard中的其他文件夹。
从图库中选取图像的代码
Intent photoPickerIntent = new Intent(Intent.ACTION_PICK);
photoPickerIntent.setType("image/*");
startActivityForResult(photoPickerIntent, REQUEST_CODE_CHOOSE_PICTURE_FROM_GALLARY);
我在活动结果上得到了这个URI。
我想复制图像,
表格path ="content://media/external/images/media/681
到path = "file:///mnt/sdcard/sharedresources/
这个路径的sdcard在Android.
如何做到这一点?
6条答案
按热度按时间iibxawm41#
感谢所有...工作代码在这里..
ttygqcqt2#
希望对我们有帮助
omjgkv6w3#
一种解决方案可以是,
1)从拾取文件的inputStream读取字节。
我在ActivityResult上得到这个URI“content://media/external/images/media/681”,你可以通过查询你得到的这个URI得到文件名,得到它的inputStream,读入byte[]。
给你/
Uri u = Uri.解析(“内容://媒体/外部/图像/媒体/681”);
游标cursor =内容解析器.query(u,空,空,空,空);有一个列名“_data”,它将返回文件名,从文件名可以创建输入流,
你现在可以读取这个输入流
所以你有数据(字节数组)和图像字节
2)在sdcard上创建一个文件,并写入第一步中的byte[]。
作为您已经从query方法中获得的fileName,请在此处使用相同的名称。
mpbci0fu4#
正在阅读this link,这里他们讨论了在Java中复制文件的四种方法,与Android也很相关。
虽然作者得出结论,使用@Prashant回答中使用的“频道”是最好的方法,但你甚至可以探索其他方法。
(我试过前两个,两个都能找到)
avkwfej45#
尽管我已经通过了@AAnkit的投票,但我还是借用并修改了一些项目。他提到使用
Cursor
,但没有适当的说明,新手可能会感到困惑。我认为这比投票最多的答案简单。
iqxoj9l96#
您可以使用此功能中的内容解析程序将图像文件复制到任何其他文件夹目录
像这样调用这个函数