从Base64 String Android Studio获取图像文件

时间:2016-06-08 09:47:27

标签: android image android-studio base64

这是我的代码

wv.setDownloadListener(new DownloadListener() {
   @Override
   public void onDownloadStart(String url, String userAgent, String contentDisposition, String mimetype, long contentLength) {

如果url变量打印到logcat将显示:

  

数据:图像/ JPEG; BASE64,/ 9J / 4AAQSkZJRgABAQAAAQABAAD / 2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkI ....

如何使用此base64字符串将下载图像文件下载到android下载目录?

我应该在onDownloadStart()函数中做什么?

感谢您的帮助

2 个答案:

答案 0 :(得分:0)

您必须将base64字符串转换为byte数组。

请注意,将整个base64字符串与data:image/jpeg;base64,一起转换将无法获得所需的输出。所以你必须删除那部分。

您可以使用以下功能删除data:image/jpeg;base64,

public static String parseBase64(String base64) {

    try {
        Pattern pattern = Pattern.compile("((?<=base64,).*\\s*)",Pattern.DOTALL|Pattern.MULTILINE);
        Matcher matcher = pattern.matcher(base64);
        if (matcher.find()) {
            return matcher.group().toString();
        } else {
            return "";
        }
    } catch (Exception e) {
        e.printStackTrace();

    }
    return "";
}

您可以使用以下功能将图像保存为文件

private void downloadFileFromBase64(String fileContent) {
    try {
        File file = new File(Environment.getExternalStorageDirectory()+"/com/myApp/img/");
        if(!file.exists()){
            file.mkdirs();
            if (fileContent != null) {
                String attachment = parseBase64(fileContent);
                byte[] byteArr = Base64.decode(attachment, Base64.DEFAULT);
                File f = new File(file.getAbsolutePath(),"sample.jpg");
                f.createNewFile();
                FileOutputStream fo = new FileOutputStream(f);
                fo.write(byteArr);
                fo.close();
                Toast.makeText(getApplicationContext(), "File downloaded", Toast.LENGTH_SHORT).show();
        }


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

答案 1 :(得分:0)

这是我的base64字符串

  

数据:图像/ JPEG; BASE64,/ 9J / 4AAQSkZJRgABAQAAAQABAAD / 2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD / 2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD / wAARCASwBwgDASIAAhEBAxEB / 8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL / 8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4 + Tl5ufo6erx8vP09fb3 + PN6 / 8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL / 8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3 + PN6 / 9oADAMBAAIRAxEAPwD9U6KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoorI8T + L / CfgnTP7b8Z + KNJ0DTvMWH7Xql7Faw + Y2dq75GC5ODgZycGgDXorN8O + JfDni / SIPEHhPX9N1rS7ksIb3TruO5t5SrFW2yRkq2GUg4PBBHatKgAooooAKKKKACiiigAooooAKKK5fSPin8MfEHiKbwhoPxH8L6lrts0qTaXZ6xbzXcbRnEgaFHLgqQQ2RwetAHUUUUUAFFFFABRRRQ AUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFfI37SEP / BQN / IHDN + zxdRR + Dfslv5AYaNnz9n73 / j6Bl + 968elfXNFAH5t + NPFX / BVH4e + FdT8a + LddhstH0iA3N5cCDw9KY4wQCdiIWbqOACawPhJ8ZP8AgpV8c9EvPEfwx8XR6tp9hdmyuJWstCt9kwRX27ZYlJ + V1OQMc19vftj / APJr /战争/ wDsCSf + hLXhP / BKP / ki3i3 / ALGhv / SSCgDI8Hwf8FUx4t0Q + Lb2E6GNRtv7TAHh7JtPNXzvuLv + 5U + 783pzX3lRVXU9T07RdOutX1e + gsrGyhee5uZ5AkcMajLOzHgAAEkmgC1RXw349 / 4KfaDH4kfwz8FvhbqfjRkdkW8lmaBZ8dWihSN5GX3baeOlVvCf / BUK0svEMegfGn4Oar4TR9u65t5nleEHI3PbyRo + 3jqpY9cA0AfdtFZ3h3xFoXi7Q7HxN4Z1W21LStShW4tLu3cPHLG3Qg / 06g5B5rwD9q79saL9l7XPDOkz / D0 + IovEMM87zLqv2Q2yxuinC + TJvyHz1Xp70AfSFFfHnxk / 4K JeHvCfiq68D / BvwDe / ETUtPJW9u7WVltImHBVDGjtLg8EgKvoxrl /小时/ wVH8O6n4mj8N / F74cXHhOOSUQtqFtdNcJbOeP30LIrooOMkFiP7tAH3XRUNneWmoWkF / YXMVxbXMazQzROHSRGGVZWHBBBBBFTUAFfGXxr / BN + K3gjxprvgnwF + zfrGqf2NeS2a6tdLcyW9wUYjekcUQypxkHzK + zaKAPz2 / ZD / BP + Pvxn / aW0X4feO5dL0rSnTUBe6VZaZ5B82G2lYK7Sl5VKuoyNw5GD6V + hNflz + ZT / yk28T / 8AY0eLf53dfqNQBR13W9J8NaLf + Itev4rLTdMtpLu7uZWwkMMalncn0ABNfntf / taftX / TR + OdQ8L / ALKuhDQ / d + nMN9 / JDAZhESQslxNPuji3YyI0G / g8tg17r / wUg8V3nhn9mDVLOyneF / EGp2WkuyHBMZZpnX6FYCD6gmpf + CcvhLT / AA5 + y3oGrW9qkd34jvL7UbtwPmkZbh4EyfQRwpge59aAPn / xX43 / AOCj / wCzTar468eajZ + LPDNuym + 3Jb3cEQLAfvDGqTxg5xvHyjIyegr7M / ZZ + P3hf9ov4dW / jjw9C1ncxyG11PTpHDSWV0oBKZH3lIIZWwMg9AQQPQ9d0XTPEmi3 / h7WrRLrT9TtpbO6hcArJFIpV1IPYgkV + B3 / AATH1e + 8JfHn4gfCx53ktZdNmlfnAM9ldLErY9Ss8n5UAfpfRRRQB + cX7bv7W / 7Qnwh + PMO + Cvh38QP7J0WDT7OeO2 / sqxn2vJHlzvmhdzk + + PSvsf8AZd + L5 + OPwP8ADXj26nSTVJbf7Hq4RQuL6E7JTtHChiBIAOiutfDf7UXhzRvGP / BRLQ / CPiG3E + M65 / ZOm3KEdUmh8skehG7IPYgGuo / 4J5 + J9X + Dvxt8e / sueMZtkz3M1xZBhtV7y2 + WQoDyfNgCyDr8sIoA / RKo7ieG1gkurmVIoYUMkjucKqgZJJ7ACpK + AV 8AgoF8Xf8AhVv7POq6fYXXlav4wb + wrPacMsUik3D8c4EQZc9mkWgD4g + JH / B