Не уверен, что это лучшее место для публикации этого вопроса, пожалуйста, перенаправьте меня, если это не так, я удалю сообщение и отправлю его в правильное место.
Я знаю, что недавно amazon s3
изменил их URL при доступе к файлам.Раньше это было что-то вроде http://s3.amazonaws.com/<bucket>
или http://s3.<region>.amazonaws.com/<bucket>
Но в http://<bucket>.s3-<aws-region>.amazonaws.com
или http://<bucket>.s3.amazonaws.com
произошли изменения, потому что эта документация https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#access-bucket-intro http://<bucket>.s3.amazonaws.com
не будет доступна после20 марта 2019 года, НО, когда я использую aws-sdk
в javascript
для загрузки файла с skipper-better-s3
URL-адрес, который я получаю в ответ от aws, равен http://<bucket>.s3.amazonaws.com/<Key>
Если этот URL-адрес не должен бытьдостижимо, почему бы aws вернуть такой URL?(Я все еще могу получить доступ к файлу, используя URL-адрес)
Если этот URL-адрес не предполагается достичь в ближайшем будущем, я должен добавить сам region
или изменить URL-адрес самостоятельно вместо использованияURL, возвращенный aws?
Или это может быть проблема моего кода?Ниже мой код для загрузки
const awsOptions = { // these fields are different because this uses skipper
adapter: require('skipper-better-s3'),
key: aws_access_key,
secret: aws_secret_key,
saveAs: PATH,
bucket: BUCKET,
s3params: {
ACL: 'public-read'
},
}
const fieldName = req._fileparser.upstreams[0].fieldName;
req.file(fieldName).upload(awsOptions, (err, filesUploaded) => {
if (err) reject(err);
const filesUploadedF = filesUploaded[0]; // F = first file
const url = filesUploadedF.extra.Location; // image url -> https://<bucket>.s3.amazonaws.com/<Key>
console.log(url, 'urlurlurl');
});
filesUploadedF
вернется
UploadedFileMetadata {
fd: '<Key>',
size: 4337,
type: 'image/png',
filename: 'filename.png',
status: 'bufferingOrWriting',
field: 'image',
extra:
{ ETag: '111111111111111111111',
Location: 'https://<bucket>.s3.amazonaws.com/<Key>',
key: '<key>',
Key: '<Key>',
Bucket: '<Bucket>',
md5: '32890jf32890jf0892j3f',
fd: '<Key>',
ContentType: 'image/png' }
}