2017-09-21 1 views
0

ich den Google Cloud Storage SDK für PHP bin mit Ressourcen für das Hochladen, aber ich Fragen habe ich die Datei öffentlich zugänglich laden zu machen, zum Beispiel habe ich versucht acl =>['READER' => 'allUsers'] im Upload-config.Google Cloud Storage API - neue ACL?

Wie auch immer, ich möchte in der Lage sein, alle Ressourcen zu teilen, die ich auf den allUsers Benutzer hochlade, also den Zugang zu den Bildern öffentlich gewährleistend.

Hier ist mein Code:

public function upload($sourceFilename, $destFilename) { 

     $bucket = $this->storage->bucket(self::IMAGE_BUCKET_NAME); 

     //Base options 
     $options = [ 
      'name' => $destFilename, 
      'validate' => true, 
      'acl' => [ 
       'READER' => 'allUsers' 
      ] 
     ]; 

     //Local file read: 
     $fileHandle = @fopen($sourceFilename, 'r'); 

     if ($fileHandle === false) { 
      throw new \Exception("Failed to open file for upload."); 
     } 

     //Resumable uploader: 
     $uploader = $bucket->getResumableUploader($fileHandle, $options); 


     try { 
      $object = $uploader->upload(); 

     } catch (GoogleException $ex) { 
      $resumeUri = $uploader->getResumeUri(); 
      $object = $uploader->resume($resumeUri); 
      //do some error handling ? 
     } 
    } 

Antwort

1

Versuchen Sie, die 'acl' Abschnitt auf sich ändernde:

'predefinedAcl' => 'publicRead' 
+0

Dank! Das hat funktioniert! Wird die Antwort in 5 Minuten akzeptieren :) –