2013-05-15 12 views
6

Mam zawartość multimedialną w strumieniu bajtów i próbuję przesłać ten strumień na Dysk Google.Przesyłanie strumienia bajtów na Dysk Google za pomocą strumienia wejściowego

Kod:

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

Wyjątek: to po prostu mówi, null, ale nie wiem co (który) jest zerowa.

Odpowiedz

4

Można spróbować czegoś takiego:

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

tu, gdzie usługa jest zdefiniowane? –

Powiązane problemy