Mic*_*cro 6 google-app-engine google-cloud-storage
我的AppEngine项目有一个API方法,该方法将可恢复的URL发送到Android客户端,然后该客户端使用该可恢复的URL上传图像。
我有另一个API方法,可以创建并返回签名的URL。在签名URL中,您必须指定Google Cloud Storage存储桶和对象名称。但是,该对象可能不存在,在这种情况下,签名的URL当然将不起作用。
在发布签名URL之前,如何快速检查App Engine后端中是否存在对象(在存储桶中)?
编辑:我的App Engine项目是一个Cloud Endpoints项目。
您可以调用getMetadata
来检查对象是否存在,而无需下载它。
GcsService fileService = GcsServiceFactory.createGcsService();
GcsFilename file = new GcsFilename(bucket, object);
fileService.getMetadata(file);
Run Code Online (Sandbox Code Playgroud)
或者,您可以列出存储桶中的所有对象或存储桶中以指定前缀(可以等于对象名称,如有必要)开头的所有对象。
更新:
这是我向客户端发送 uploadURL 的方式:
@Override
public String getUploadUrl() throws LoginException, VersionException {
// Verify that call is from a registered user and with proper headers
BlobstoreService blobstoreService = BlobstoreServiceFactory.getBlobstoreService();
String callbackUrl = "/blob";
return blobstoreService.createUploadUrl(callbackUrl,
UploadOptions.Builder.withGoogleStorageBucketName("myBucket));
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3811 次 |
最近记录: |