Curl kullanarak S3 yükleniyor [kapalı]

1 Cevap php

Şu anda komut aramak için AJAX kullanarak S3 benim sunucuda bir dosya yüklemek için cURL kullanıyorum.

Yani şu var:

$fullfilepath = '/server/sitepath/files/' . $_POST['file']; 
    $upload_url = 'https://'.$_POST['buckets'].'.s3.amazonaws.com/'; 

    $params = array( 
        'key'=>$_POST['key'],
        'AWSAccessKeyId'=>$_POST['AWSAccessKeyId'],
        'acl'=>$_POST['acl'],
        'success_action_status'=>$_POST['success_action_status'],
        'policy'=>$_POST['policy'],
        'signature'=>$_POST['signature'],
        'Content-Type'=>$_POST['Content-Type'],
        'file'=>"@$fullfilepath"      
    );         

    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_VERBOSE, 1); 
    curl_setopt($ch, CURLOPT_URL, $upload_url); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($ch, CURLOPT_POSTFIELDS, $params); 
    $response = curl_exec($ch); 
    curl_close($ch); 

    echo $response;

Ancak, gönderdiğinde aşağıdaki gibi bir S3 hata alıyorum ve ben buna JSON geçen değilim çünkü ben neden emin değilim.

<?xml version="1.0" encoding="UTF-8"?>
<Error><Code>InvalidPolicyDocument</Code><Message>Invalid Policy: Invalid JSON.</Message><RequestId>B29469C6151BE0E8</RequestId><HostId>BFPk6W2kt1b6hTtx0mEq6dWdN/IhO0gNR5bct//7LAOwJxm1C3PrxS4RPv1blzJ8</HostId></Error>

Ben son saat ya da öylesine için google'dan ve onu anlamaya görünüyor olamaz. Ben Array alanların sırasını değiştirirseniz, o bana farklı bir hata veriyor - Ben yayınlanmıştır alanların sırası nasılsa önemli olduğuna inanıyoruz.

herhangi bir yardım çok takdir!

C

1 Cevap

Ben sonunda bunu düzeltmek için idare ettik. gönderilen İlkesi bilgileri geçersiz oldu - Ben bu düzeltilmiş kez iyiydi.