尝试从s3删除图像时获取403禁止

问题描述

我正在使用此库react-s3在S3上上传图像并从S3删除上传图片工作正常,但是当我尝试从s3中删除文件时,但是每当我尝试删除时,我都收到403。 我在删除函数中传递了以下URL:

https://abc-profile-images.s3.amazonaws.com/1601273978.331.jpeg

但是在catch块中,我收到了以下URL(为什么它同时包含有区域和无区域的URL)

 https://abc-profile-images.s3-ap-southeast-1.amazonaws.com/https://abc-profile-images.s3.amazonaws.com/1601273978.331.jpeg

以下是在catch中收到的对象:

Response {type: "cors",url: "https://abc-profile-images.s3-ap-southeast-1.am…ages.s3.amazonaws.com/1601273978.331.jpeg",redirected: false,status: 403,ok: false,…}
body: (...)
bodyUsed: false
headers: Headers {}
ok: false
redirected: false
status: 403
statusText: "Forbidden"
type: "cors"
url: "https://abc-profile-images.s3-ap-southeast-1.amazonaws.com/https://abc-profile-images.s3.amazonaws.com/1601273978.331.jpeg"
__proto__: Response

以下是我的代码

import { deleteFile } from "react-s3";
import config from './s3config';

const options = {

    accessKeyId: config.ID,secretAccessKey: config.key,region: config.region,bucketName: config.name
}

const removeImage = (uri) => {
    console.log('file : ',uri)
    return new Promise((resolve,reject) => {
        deleteFile(uri,options)
            .then(result =>  resolve(result))
            .catch(err => reject(err))
    })
}
export {
    removeImage
};
import { removeImage } from '../../common/imageDelete'
function MethodList(props) {

  const removeMethod = (e,page) => {
        let image = e.target.dataset.image;
      
         removeImage(image)
             .then(res => console.log('s3 delete result : ',res))
             .catch(res => console.log('Image catch',res))
         }
    }
export default MethodList

解决方法

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

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

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

相关问答

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