有没有办法从Drive SDK中的InputStream上传文件到Google云端硬盘?

时间:2014-11-15 13:02:38

标签: java android google-drive-api

我必须将一些数据加载到Google云端硬盘,但我无法使用recommended by Drive SDK way to do it

FileContent fileContent = new FileContent(mimeType, dataFile);
try {
  File file = service.files().insert(body, fileContent).execute();
  return file;
} catch (IOException e) {
  System.out.println("An error occured: " + e);
  return null;
}

因为我的数据并不总是以java.io.File作为源。有时它可能是来自加密存储或其他云存储的InputStream,因此我无法从中获取FileContent。有没有办法将数据从InputStream加载到Google云端硬盘而不将其中间存储在文件系统上(例如,对于Dropbox API method "putFileOverwrite")?

1 个答案:

答案 0 :(得分:3)

检查出来

 File file= drive.files().insert(body,
                                new InputStreamContent(
                                        fileItemStream
                                                .getContentType(),
                                        new ByteArrayInputStream(
                                                IOUtils.toByteArray(fileInputStream)))).execute;