将OutputStream(转换为File)转换为Bitmap

sim*_*994 0 android outputstream bitmap bytearrayoutputstream

使用Google Drive Rest Api,我尝试使用此功能下载广告图片.

我得到一个包含以下代码的文件列表:

List<String> fileInfo = new ArrayList<>();
FileList result = mService.files().list()
        .setPageSize(10)
        .setQ("mimeType='image/jpeg'")
        .setFields("nextPageToken, files(id, name)")
        .execute();
        List<File> files = result.getFiles();
        if (files != null) {
            for (File file : files) {
                fileInfo.add(String.format("%s (%s)\n",
                        file.getName(), file.getId()));
            }
        }
Run Code Online (Sandbox Code Playgroud)

它有效.然后,使用文件ID,我获得一个带有以下代码的OutputStream:

String fileId = "file_id";
OutputStream fOut = new ByteArrayOutputStream();
mService.files().export(fileId,"image/jpeg").executeMediaAndDownloadTo(fOut);
Run Code Online (Sandbox Code Playgroud)

现在,我如何将其转换为文件然后转换为位图?

bri*_*mar 7

你可以试试这个. byte[] bitmapdata = fOut.toByteArray(); Bitmap bitmap = BitmapFactory.decodeByteArray(bitmapdata, 0, bitmapdata.length);