Я загружаю изображения в облачное хранилище с помощью клиентской библиотеки Java Изображения загружаются в Bucket, но когда я пытаюсь получить к ним доступ, в браузере отображается черный экран. Итак, я покопался в этом, чтобы проверить тип изображения после его загрузки в облачное хранилище.
Я загрузил изображение, загруженное из облачного хранилища, в
Проверьте тип файла .com и он показывает тип файла как data и MIME / TYPE как application / octet-stream вместо image
![enter image description here](https://i.stack.imgur.com/uA3Os.png)
Итак, я загрузил исходное изображение этого же изображения с моего ПК, и оно прекрасно показывает тип изображения как image / jpeg
![enter image description here](https://i.stack.imgur.com/2Ej1B.png)
Вот код, который я написал с использованием клиентской библиотеки Java.
HTML-форма для обработки загрузки
<form action="/through" method="post" enctype="multipart/form-data">
<h3>Uploading File through App Engine instances to cloud storage</h3>
<label>Enter Your Team Name</label><br>
<input type="text" name="TeamName" ><br><br>
<label>Upload Team Logo</label><br>
<input type="file" name="teamLogo" required="required"><br><br>
<input type="submit" value="Upload Team Logo">
</form>
Java-код для загрузки изображения
InputStream input = request.getInputStream();
ByteArrayOutputStream byteArrayStream = new ByteArrayOutputStream();
try {
int read = input.read();
while(read != -1) {
byteArrayStream.write(read);
read = input.read();
}
catch (IOException e){
//Handle Exception
}
byte[] fileBytes = byteArrayStream.toByteArray();
Storage storage = null;
try {
FileInputStream credentialsStream = new FileInputStream("JSONFile");
Credentials credentials = GoogleCredentials.fromStream(credentialsStream);
storage = StorageOptions.newBuilder().setCredentials(credentials).setProjectId("myProjectID").build().getService();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
BlobId blobId = BlobId.of(BUCKET_NAME, USER_NAME+"TeamLogo.jpg");
BlobInfo blobInfo = BlobInfo.newBuilder(blobId).setContentType("image/jpeg").build();
Blob blob = storage.create(blobInfo, fileBytes);
Почему Cloud Storage не может правильно определить тип изображения? Это оказывает неблагоприятное влияние на другие части моего приложения, где я хочу отображать те же изображения.
UPDATE
В консоли для того же объекта Content-Type отображается как image / jpeg
![enter image description here](https://i.stack.imgur.com/f709F.png)