#google-cloud-platform #java-8 #google-cloud-storage
#google-облачная платформа #java-8 #google-облачное хранилище
Вопрос:
Привет, я работаю над функциональностью, в ней я хочу загрузить файл из системы в облачное хранилище Google, которое работает как шарм, но я не могу найти способ получить код ответа из облачного хранилища, когда файл был успешно загружен в облако. Может кто-нибудь подсказать, как я могу получить код ответа обратно, когда файл будет успешно загружен. я прилагаю фрагмент кода для лучшей отладки
private void uploadtobucket(List<MultipartFile> selectedfile, String instancekey) {
// TODO Auto-generated method stub
String projectid="version1pdf";
String bucketname="windows10-shivam";
String temp="temp";
String path="C:/Users/Shivam/eclipse-workspace/demo.zip_expanded/demo/src/main/resources/version1pdf-996fdd32ec59.json";
List<String> objectname=new ArrayList<String>();
selectedfile.stream().forEach(selectefile->objectname.add(selectefile.getOriginalFilename()));
Storage storage=null;
try {
storage = StorageOptions.newBuilder().setProjectId(projectid).setCredentials(GoogleCredentials.fromStream(new FileInputStream(path))).build().getService();
} catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
for(int i=0;i<objectname.size();i ) {
String objectnames="temp/" objectname.get(i);
BlobId blobid=BlobId.of(bucketname, objectnames);
BlobInfo blobinfo=BlobInfo.newBuilder(blobid).build();
try {
storage.create(blobinfo, selectedfile.get(i).getBytes());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
любая помощь будет оценена заранее спасибо
Ответ №1:
Согласно официальной документации по загрузке объектов, для загрузки объекта вы делаете запрос PUT, область действия которого определяется именем корзины и именем объекта, и вы помещаете данные объекта в тело запроса, используя XML API.
Запрос объекта PUT использует несколько стандартных HTTP-заголовков, поэтому этот запрос PUT возвращает заголовок ответа, который устанавливается равным 200, если запрос был успешно выполнен, как показано в примере приведенной выше ссылки.
XML API облачного хранилища — это интерфейс RESTful, который позволяет программно управлять данными облачного хранилища. Как RESTful API, он использует информацию о методах и области видимости для определения операций, которые необходимо выполнить. Для получения дополнительной информации о XML API и GCS вы можете перейти по этой ссылке.
Кроме того, здесь вы можете найти дополнительную информацию о заголовках HTTP и параметрах строки запроса для XML API, а также краткое описание методов запроса для XML API.
Кроме того, имейте в виду, что если вам нужно использовать HTML-формы (обычно через веб-браузер) для загрузки объектов, попробуйте использовать POST object вместо PUT .
Я надеюсь, что эта информация поможет.