ruggedtexts Ответов: 1

Что такое формат байтового массива для загрузки в GCS?


Следующий код взят из этого ссылка начиная с линии 85. Я новичок в Java и облачном хранилище Google. Я понимаю все это, за исключением второго параметра, "файл", который должен быть форматом массива байтов. Если бы у меня было видео размером 100 ГБ, каким был бы параметр массива байтов?



 * Uploads a given file to Google Cloud Storage.
 *
 * @param filePath The desired file path for the file to be uploaded. File path should be absolute path and should include folders, sub-folders, and file name
 * @param file The file to be uploaded in byte array format
 * @return true if the file has been successfully uploaded; false otherwise
 */
public boolean uploadFile(String filePath, byte[] file) {
    try {
        setDefaultStorageCredentials();
        storage.create(BlobInfo.newBuilder(bucketName, filePath).build(),
                new ByteArrayInputStream(file));
        return true;
    } catch (Exception e) {
        return false;
    }
}


Что я уже пробовал:

Я успешно загрузил файл с сервера Tomcat, используя интерфейс Part и метод getParts(). Я сделал это, чтобы понять процедуру загрузки и выгрузки. GCS рекомендует использовать приведенный выше код с помощью Blobstore.

1 Ответов

Рейтинг:
2

Richard MacCutchan

Глядя на ByteArrayInputStream (Java Platform SE 7 )[^] документация по-видимому, этот параметр является промежуточным буфером для чтения входного потока. Вам нужно предоставить буфер из некоторого количества байтов для загрузки, чтобы использовать его.