2012-06-12 2 views
1

Am en utilisant ci-dessous API tiers dans le développement de mon projet
http://undesigned.org.za/2007/10/22/amazon-s3-php-classComment créer le lien de téléchargement d'un objet dans AmazonS3?

J'ai fait toutes les tâches comme télécharger, supprimer, seau-liste, liste d'objets avec cette API, mais l'une des principales tâches pour créer un objet téléchargement lien forment un seau est brumeux.

API officiel Amazon a: get_object_url ($bucket, $filename, $preauth, $opt)
pour obtenir l'URL de tout objet, mais avec l'API ci-dessus est le manque de méthode et de la documentation.

Ses spectacles suivants erreur avec ce code lorsque je clique sur le lien de téléchargement:

code

<h1>All uploaded files</h1> 
<?php 
    // Get the contents of our bucket 
    $contents = $s3->getBucket("mybucket"); 
    foreach ($contents as $file){ 

     $fname = $file['name']; 
     $furl = "http://mybucket.s3.amazonaws.com/".$fname; 

     //output a link to the file 
     echo "<a href=\"$furl\">$fname</a><br />"; 
    } 
?> 

Erreur

This XML file does not appear to have any style information associated with it. The document tree is shown below. 
<Error> 
<Code>AccessDenied</Code> 
<Message>Access Denied</Message> 
<RequestId>5A23C56B55611736</RequestId> 
<HostId>m2V2NlI19zgGPq0o4lXmIfod2BeQZIkuH4Yu651372cE/hfa9BkLdV8y3LlYjtw1</HostId> 
</Error> 

Si quelqu'un a une idée ou une expérience avec cette API alors me suggérer. Merci

Répondre

2

Vous utilisez: http://undesigned.org.za/2007/10/22/amazon-s3-php-class classe S3 et que vous souhaitez créer un lien de téléchargement d'un objet de seau

Vous devriez essayer ceci:

$s3 = new S3($aws_access_key, $aws_secret_key); 

$url = $s3->getAuthenticatedURL($aws_bucket_name, $file_name, 3600)); 

echo "<a href='$url' target='_blank'>Download</a>"; 

Ce lien de téléchargement expirera après 1 heure (3600sec .), vous pouvez étendre le temps d'expiration par le dernier paramètre pour l'incrémenter.

+0

j'ai mis à jour ma classe S3 - ' Lien: http: // amazon- s3-php-class.googlecode.com/files/s3-php5-curl_0.4.0.tar.gz' – Frank

+0

Merci pour votre soutien, c'est fait. – Frank

0

Tous les fichiers ont-ils tous les droits de lecture de l'utilisateur (accessibles au public)?

Si vous souhaitez accéder à ce fichier sans authentification, vous devez donner l'autorisation de lecture à ce fichier. Sinon, vous pouvez également créer une URL signée.

+0

Yep 'Grantee: Frank Ouvrir/Télécharger: Oui Afficher les autorisations: Oui Modifier les autorisations: Yes' – Frank

+0

Alors dites-moi quoi d'autre – Frank

Questions connexes