Pu sh файл на S3 через предварительно подписанный http2 протокол ускорения передачи URL - PullRequest
0 голосов
/ 16 января 2020

У меня возникла проблема с загрузкой изображения на 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

Заранее спасибо!

...