转换输出流(文件)到位图



与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()));
            }
        }

它起作用了。然后,通过文件id,我获得一个OutputStream,代码如下:

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

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

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

老问题,但仍然相关…也许这在当时是不可能的,但现在应该这样做了:

try (InputStream is = mService.files().get(fileId).executeMediaAsInputStream()) {
    return BitmapFactory.decodeStream(is);
}

最新更新