大家好,我实际上正在使用谷歌云平台,并且我将我的优惠券图像存储在gcs存储桶中。现在google提供任何api来从gcs存储桶中删除现有图像。我在其文档上搜索了很多google docs也见过很多博客,但每个人都做的是从数据库中删除数据,但没有人讲述如何从桶中删除图像。如果有人这样做,请帮助我,这真的很明显。
由于
答案 0 :(得分:3)
不确定
更新2:NodeJS上的示例
我们可以选择三个选项。 Using request module,Google cloud NodeJS client或Google API NodeJS client。但首先,您应该授权您的服务器向Google云端存储(GCS)发出请求。要做到这一点:
1)Google云端NodeJS客户端。 Here官方存储库,包含大量样本。
var fs = require('fs');
var gcloud = require('gcloud');
var gcs = gcloud.storage({
projectId: 'your-project',
keyFilename: '/path/to/keyfile.json'
});
var bucket = gcs.bucket('your-bucket');
var file = bucket.file('your-file');
file.delete(function(err, apiResponse) {}):
2)使用请求模块。
npm install request
然后在你的代码中:
var request = require('request');
request({
url: 'https://www.googleapis.com/storage/v1/b/your-bucket/o/your-file',
qs: {key: 'your-private-key'}, // you can find your private-key in your keyfile.json
method: 'DELETE'
}, function(error, response, body){});
3)使用Google API NodeJS:我不知道如何使用它,但有很多例子here。
答案 1 :(得分:0)
假设您拥有图片文件的公共网址,则可以这样
import {Storage} from "@google-cloud/storage";
const storage = new Storage({
projectId: GCLOUD_PROJECT,
keyFilename: 'keyfile.json'
});
const bucket = storage.bucket(GCLOUD_BUCKET);
//var image_file="https://storage.googleapis.com/{bucketname}/parentfolder/childfolder/filename
var image_file="https://storage.googleapis.com/1533406597315/5be45c0b8c4ccd001b3567e9/1542186701528/depositphotos_173658708-stock-photo-hotel-room.jpg";
new Promise((resolve, reject) => {
var imageurl = image_file.split("/");
imageurl = imageurl.slice(4, imageurl.length + 1).join("/");
//imageurl=parentfolder/childfolder/filename
storage
.bucket(GCLOUD_BUCKET)
.file(imageurl)
.delete()
.then((image) => {
resolve(image)
})
.catch((e) => {
reject(e)
});
});
在此链接https://cloud.google.com/storage/docs/deleting-objects或github https://github.com/googleapis/nodejs-storage/blob/master/samples/files.js上的代码示例下检查Google的官方文档