У меня есть служба, которая генерирует S3 предварительно подписанные URL-адреса PUT для загрузки.AWS Предварительно подписанный URL-адрес PUT Требует & s для замены с &?
Во время тестирования я заметил, что почтальон не будет загружать тему на предварительно подписанный URL-адрес, пока я нажимаю на URL-адрес в режиме «Довольно». Это поместило бы URL-адрес в адресную строку.
Но когда я скопировал исходный вывод, он будет 403 каждый раз.
ли AWS S3 требуют & знаки должны быть заменены &?
EDIT: Обновление, чтобы показать, как предварительно подписанный URL извлекается с Node/Экспресс/AWS API
router.get('/', function (req, res) {
var s3 = new AWS.S3();
var params = {Bucket: 'some-s3-bucket', Key: 'test/'};
s3.getSignedUrl('putObject', params, function (err, url) {
res.json({url: url});
});
});
Я дважды проверил свой код для получения предварительно подписанного URL-адреса. Из того, что я могу сказать, нет ничего странного. код, чтобы захватить s3 предварительно подписанный URL: router.get ('/', функция (Req, Рез) { вар s3 = новый AWS.S3(); вар Params = {Ковш: «some- s3-bucket ', Key:' test/'}; s3.getSignedUrl (' putObject ', params, function (err, url) { res.json ({url: url}); }); }) ; – binarygiant
Я по-прежнему получаю такое же поведение в PostMan и программно. – binarygiant
@binarygiant вы говорите, что вы используете 'curl' из командной строки, вы все еще видите' & 'в ответе, даже если вы не намеренно добавляете его? –