通过trix删除Amazon s3中的对象

问题描述

我将带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存储桶中的对象及其名称的示例:

enter image description here

我试图从要删除文件获取属性。从这段代码

event.attachment.getAttributes()

这就是我得到的:

enter image description here

URL末尾的sgid或字符串与任何对象名称都不匹配。它太长了。我删除对象后如何在s3中获取对象名称

还有一点需要注意的是,如果我直接从s3存储桶中用对象名称替换密钥,则删除成功,因此我知道它的工作原理,但是我只需要获取正确的对象名称即可。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...