我正在使用GAE版本1.9.0,我想从数据存储中删除图像并将其他图像上传到其位置。这就是我现在正在做的事情。
unlink("gs://my_storage/images/test.jpg");
move_uploaded_file($_FILES['image']['tmp_name'],'gs://my_storage/images/test.jpg');
然后我想获取最新上传图片的图片服务网址,我这样做。
$image_link = CloudStorageTools::getImageServingUrl("gs://my_storage/images/test.jpg");
问题是,当删除图像的名称(“test.jpg”)和上传的图像(“test.jpg”)相同时,旧文件服务当我调用新上传的文件(我认为它已缓存。)
无论如何我可以在不缓存的情况下永久删除此文件吗?
答案 0 :(得分:2)
您应该删除原始服务网址,然后再创建具有相同名称的网址。
您可以使用CloudStorageTools中的deleteImageServingUrl()方法执行此操作。
答案 1 :(得分:0)
这是在php laravel中执行的操作。
$object = $post_media->media_cloud;
$objectname = substr($object,48,100);
$bucket = Storage::disk('gcs')->delete($objectname);
因此,这将通过获取对象名来调用功能删除。
希望它可以帮助任何人。
注意:对于多个图像,要么传递对象数组,要么对foreach循环重复它。