Как загрузить файл в хранилище Google в Grails с помощью класса GoogleServiceAuthentication? - PullRequest
0 голосов
/ 12 декабря 2018

Я создаю приложение, в котором мне нужно загрузить файлы Excel в Google Storage.

Может кто-нибудь сказать мне, как загрузить файл в Google Storage с помощью GoogleServiceAuthentication?

Я пытаюсьдля загрузки excelFile в FileUploadController с помощью действия uploadExcelFile.

КОД:

def uploadExcelFile(){

    def excelFile = request.getFile('excelFile')

    // UPLOAD HERE 

    redirect(action: "index")
}

1 Ответ

0 голосов
/ 30 января 2019

Вам потребуется настроить служебную учетную запись в IAM и предоставить учетной записи доступ к вашему хранилищу.После создания учетной записи вы можете загрузить закрытый ключ в формате json.Затем вы можете использовать этот ключ в своем коде:

StorageOptions options = StorageOptions.newBuilder()
    .setCredentials(GoogleCredentials.fromStream(new ByteArrayInputStream("YOUR KEY FROM JSON FILE".getBytes())))
    .build();

Storage storage = options.getService();

Как только у вас есть объект хранения, вы можете извлечь свое ведро и загрузить в него файлы:

Bucket bucket = storage.get("your-bucket-name")

try {
    bucket.create("name of file", excelFile.inputStream)
}
catch (Exception e) {//do something}
...