Ich lade ein Bild auf das GCS und überschreibe es dann mit einem anderen mit demselben Dateinamen (image.png). Im GCS-Browser kann ich sehen, dass das Bild überschrieben wird (andere Größe, Zeitstempel), aber wenn ich versuche, die URL des Bildes mit getServingUrl() zu erhalten, bekomme ich die URL des Bildes, das ich das erste Mal hochgeladen habe !!!google cloud storage - getServingUrl() gibt URL des alten Bildes
Wenn ich ein Bild mit einem neuen Dateinamen (image2.png) füge, bekomme ich eine neue URL. Wenn ich dieses Bild mit einem anderen überschreibe (behalten Sie den Namen als image2.png bei), dann bekomme ich wieder die URL für original image2.png.
ist hier mein Code:
String bucketName = "my_bucket_name";
String userFileName = "image.png";
try {
GcsFileOptions instance = GcsFileOptions.getDefaultInstance();
GcsFilename fileName = new GcsFilename(bucketName, userFileName);// getFileName(request);
GcsOutputChannel outputChannel;
gcsService.delete(fileName);
outputChannel = gcsService.createOrReplace(fileName, instance);
copy(request.getInputStream(), Channels.newOutputStream(outputChannel));
} catch (IOException e) {
System.out.println(e.getMessage());
}
ImagesService imagesService = ImagesServiceFactory.getImagesService();
String url = imagesService.getServingUrl(ServingUrlOptions.Builder.withGoogleStorageFileName("/gs/" +
bucketName + "/" + userFileName).secureUrl(true));
Kann mir jemand bitte sagen, was ich hier fehlt? Wie bekomme ich den ImagesService, um mir den Zugriff auf das neu hochgeladene Bild zu geben? Vielen Dank.
Verwenden Sie PHP anstelle von Java können Sie diesen Beitrag verweisen http://StackOverflow.com/Questions/37646849/How-can -we-use-firebase-image-file-and-resize-sie-using-get-serving-url/37673504 # 37673504 –