2016-09-11 2 views
0

Вот мой код, чтобы загрузить файл в облачном хранилище Google,Как захватить Storage.Objects.Insert запрос ошибки/ошибки?

public static void uploadFile(String name, String contentType, File file, String bucketName) 
     throws IOException, GeneralSecurityException { 
    InputStreamContent contentStream = new InputStreamContent(contentType, new FileInputStream(file)); 
    // Setting the length improves upload performance 
    contentStream.setLength(file.length()); 
    StorageObject objectMetadata = new StorageObject() 
      // Set the destination object name 
      .setName(name) 
      // Set the access control list to publicly read-only 
      .setAcl(Arrays.asList(new ObjectAccessControl().setEntity("allUsers").setRole("READER"))); 

    // Do the insert 
    Storage client = StorageFactory.getService(); 
    Storage.Objects.Insert insertRequest = client.objects().insert(bucketName, objectMetadata, contentStream); 

    StorageObject response =insertRequest.execute(); 
    System.out.println("Storage insert response: "+response.toPrettyString()); 

} 

Как захватить ошибки из объекта ответа?

ответ

0

Ошибки не будут существовать в объекте ответа. Вместо этого вы увидите, что генерируется исключение. Вы можете catch (GoogleJsonResponseException e) и осмотреть GoogleJsonError от e.getDetails(). См. an example. Могут применяться другие исключения, в том числе некоторые, которые никогда не выпускают продукт JSON.

Смежные вопросы