Чтобы загрузить файл в облачное хранилище Google, вам нужны службы StorageOptions
.Вы можете увидеть документацию о Загрузка объектов .
Это загрузит строку Hello, Cloud Storage!
в файл с именем blob_name
в сегменте с именем bucket
.Вы просто меняете имена в соответствии с потребностями вашего проекта.
Чтобы загрузить один из ваших локальных файлов.Создайте функцию, которая будет считывать данные файла и возвращать их в вашу основную функцию, которая будет загружать данные в корзину.
Я сам немного кодировал код и следующий код загружал файл с данными.что вы упоминаете выше, успешно.
Функция, которая читает файл:
Будет считывать файл из локального хранилища, например Cloud Shell, и будет возвращать все данные.
private String readFile(){
// The name of the file to open.
String fileName = "PATH/TO/THE/FILE/THAT/IS/GOING/TO/BE/UPLOADED/FILE_NAME/xml";
// This will reference one line at a time
String line = null;
// This will be the full file after reading
String output = "";
try {
// FileReader reads text files in the default encoding.
FileReader fileReader =
new FileReader(fileName);
// Always wrap FileReader in BufferedReader.
BufferedReader bufferedReader =
new BufferedReader(fileReader);
while((line = bufferedReader.readLine()) != null) {
System.out.println(line);
output = output + line;
}
// Always close files.
bufferedReader.close();
}
catch(FileNotFoundException ex) {
System.out.println(
output = output + "Unable to open file '" + fileName + "'";
}
catch(IOException ex) {
System.out.println(
output = output + "Error reading file '" + fileName + "'";
}
return output;
}
Функция загрузки:
Он будет использовать все данные, которые он будет считывать из файла, и загружать их в новый файл в корзине.Разница между кодом документации заключается в строке, где вызывается ...readFile().getBytes(UTF_8)...
.Вместо строки мы добавляем функцию, которая будет возвращать все данные для загрузки.
public String uploadFile(){
String bucket_name = "BUCKET_NAME";
String file_name = "PATH/TO/WHERE/THE/FILE/WILL/BE/UPLOADED/FILE_NAME.xml"
Storage storage = StorageOptions.getDefaultInstance().getService();
BlobId blobId = BlobId.of(bucket_name, file_name);
BlobInfo blobInfo = BlobInfo.newBuilder(blobId).setContentType("text/plain").build();
Blob blob = storage.create(blobInfo, readFile().getBytes(UTF_8));
}