Полная ошибка в консоли:
Доступ к XMLHttpRequest в (imageurl) из источника 'http://localhost: 3000 ' заблокирован политикой CORS: Ответ на предварительный запрос не проходит проверку контроля доступа: в запрашиваемом ресурсе отсутствует заголовок «Access-Control-Allow-Origin».
Я попытался настроить конфигурацию CORS, чтобы разрешить PUT и POST для всех домены, но все равно получаю ошибку.
Код на стороне клиента выглядит следующим образом -
// digitalOcean.js
import AWS from 'aws-sdk'
const regionName = 'nyc3'
const accessKeyId = 'KEYID'
const accessSecretKey = 'SECRETKEY'
export const bucketName = 'BUCKETNAME'
const endpointUrl = `${regionName}.digitaloceanspaces.com`
export const bucketUrl = `https://${bucketName}.${endpointUrl}/`
const spacesEndpoint = new AWS.Endpoint(endpointUrl)
export const s3 = new AWS.S3({
endpoint: spacesEndpoint,
accessKeyId: accessKeyId,
secretAccessKey: accessSecretKey,
})
и
// getItem.jsx
import * as digitalOcean from '../services/digitalOcean'
function uploadFile(file) {
const params = { Body: file, Bucket: digitalOcean.bucketName, Key: file.name }
digitalOcean.s3.putObject(params)
.on('build', request => {
request.httpRequest.headers.Host = digitalOcean.bucketUrl
request.httpRequest.headers['Content-Length'] = file.size
request.httpRequest.headers['Content-Type'] = file.type
request.httpRequest.headers['x-amz-acl'] = 'public-read'
})
.send((err, data) => {
if (err) return alert(JSON.stringify(err))
// ...
})
}
Есть идеи, в чем может быть проблема?