简体   繁体   中英

Is there a way to upload file to Google Drive from InputStream in Drive SDK?

I have to load some data to Google Drive, but I can't use 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;
}

because my data isn't always has the java.io.File as a source. Sometimes it may be an InputStream from encrypted storage or from other cloud storage and therefore I can't get FileContent from it. Is there a way to load data from InputStream to Google Drive without their intermediate storing on file system (as for Dropbox API method "putFileOverwrite" , for example)?

Check this out

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM