Upload a byte stream to Google Drive through the input stream

I have media content, as in a byte stream, and I'm trying to load this stream in Google Drive.

Code:

private static String writeToGoogleDrive(Drive service, String title, String description, String parentId, String mimeType, final byte[] filename) throws IOException { String URL=""; File body = new File(); body.setTitle(title); body.setDescription(description); body.setMimeType(mimeType); if (parentId != null && parentId.length() > 0) { body.setParents(Arrays.asList(new ParentReference().setId(parentId))); } try { File file= service.files().insert(body, new AbstractInputStreamContent("") { @Override public boolean retrySupported() { // TODO Auto-generated method stub return false; } @Override public long getLength() throws IOException { // TODO Auto-generated method stub System.out.println("the value of the length of the file is "+filename.length); return filename.length; } @Override public InputStream getInputStream() throws IOException { // TODO Auto-generated method stub return new ByteArrayInputStream(filename); } }).execute(); 

Exception: it just says null, but I don't know what (what) is null.

+6
source share
1 answer

You can try something like this:

 file = service.files().insert(body, new InputStreamContent(mimeType, new ByteArrayInputStream(filename))).execute(); 
+4
source

Source: https://habr.com/ru/post/945041/


All Articles