gpt4 book ai didi

android - 如何将来自服务器的 base64 json 文件保存在移动外部存储中?

转载 作者:太空狗 更新时间:2023-10-29 14:40:19 25 4
gpt4 key购买 nike

我在 json 响应中从服务器获取一个 base64 字符串。它可能包含图像、zip 文件、pdf、mp3 或视频。如果我要解码 base 64 字符串,则在 imageview 中显示图像,但我想要下载文件并在移动图库中打开它,如果是图片,如果是 pdf 文件,它将像那样在 pdf 阅读器中打开....如何实现?

"attach":[{"id":6,"name":"Ticket.pdf","thread_id":17,"size":"356660","type":"application\/pdf","poster":"ATTACHMENT","created_at":"2018-03-13 11:40:32","updated_at":"2018-03-13 11:40:32","file":"base64 encoded string","driver":"local","path":"\/home\/jamboree\/public_html\/sayarnew\/storage\/app\/private\/2018\/3\/13"}]

最佳答案

根据您端点的字段,检查它是否是图像/pdf。既然你说你可以显示它 imageview,你可能有位图。将此位图转换为文件并将其存储在您的内存中(因此图像下载完成)。看下面的代码将位图转换为文件并存储在内存中

private void downLoadImage(Bitmap bitmap) {

String path = Environment.getExternalStorageDirectory().toString();
File directory = new File(path + "/dir_images");
directory.mkdirs();
Random generator = new Random();
int n = 10000;
n = generator.nextInt(n);
String fname = "IM_"+ n +".jpg";
File file = new File (directory, fname);
if (file.exists ())
file.delete ();
try {
FileOutputStream out = new FileOutputStream(file);
bitmap.compress(Bitmap.CompressFormat.JPEG, 90, out);
out.flush();
out.close();

} catch (Exception e) {
e.printStackTrace();
}
}

关于android - 如何将来自服务器的 base64 json 文件保存在移动外部存储中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49293341/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com