У меня возникла проблема с загрузкой изображения на S3 через ускоренное перемещение URL-адреса с предварительно подписанной подписью.
Я использую AWS SDK / PHP и создаю предварительно подписанные URL-адреса.
Существует мой PHP код
$cmd = $s3Client->getCommand('PutObject', [
'Bucket' => $bucket,
'Key' => $folder . '/' .$filename,
'ACL' => 'public-read',
'ContentType' => "multipart/form-data",
'@use_accelerate_endpoint' => true
]);
$request = $s3Client->createPresignedRequest($cmd, '+5 minutes');
$presignedUrl = (string)$request->getUri();
После этого в браузере я использовал jQuery для публикации изображения на S3 через предварительно подписанные URL-адреса выше моего jQuery кода
$.ajax({
url: result.url,
type: 'PUT',
dataType: 'html',
processData: false,
async: false,
headers: {'Content-Type': 'image/png'},
crossDomain: true,
data: postFile
}).done(function(data,textStatus,error) {
// do something
}).fail(function (jqXHR, textStatus, errorThrown) {
// write log when upload error
});
Проблема в том, что, когда я извлекаю sh файл с предварительно подписанным URL-адресом, протокол действия будет http1.1 вместо http2, как и другие запросы. Есть ли способ запроса с протоколом http2?
![enter image description here](https://i.stack.imgur.com/CjrIz.png)
Заранее спасибо!