问题描述
我将带Trix的动作文本用于我的富文本内容,并且我能够在Trix编辑器上上传图像,然后将其成功上传到我的Amazon s3存储桶。 当用户决定在编辑器上删除图像时,我希望能够在s3中删除该对象。 我正在使用适用于js的AWS开发工具包,并设置了参数:
window.addEventListener("trix-attachment-remove",function(event) {
var AWS = require('aws-sdk');
AWS.config.credentials = {
accessKeyId: gon.accessKey,secretAccessKey: gon.secretKey,region: 'us-west-1'
}
console.log(event.attachment.getAttributes())
var s3 = new AWS.S3();
var params = { Bucket: gon.bucketName,Key: '#object-name#' };
s3.deleteObject(params,function(err,data) {
if (err) console.log(err,err.stack); // error
else console.log(); // deleted
});
})
所以我现在唯一的问题是获取我所理解的对象的密钥,即对象名称。因此,这是我的s3存储桶中的对象及其名称的示例:
event.attachment.getAttributes()
这就是我得到的:
URL末尾的sgid或字符串与任何对象名称都不匹配。它太长了。我删除对象后如何在s3中获取对象名称?
还有一点需要注意的是,如果我直接从s3存储桶中用对象名称替换密钥,则删除成功,因此我知道它的工作原理,但是我只需要获取正确的对象名称即可。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)