2016-09-09 1 views
0

Je tente de télécharger une image appelée "aaa.jpeg" dans mon compartiment s3 à l'aide d'AWSMobileHubHelper. J'ai trouvé cette fonction sur leur site de documentation.Téléchargement d'une image à partir d'Amazon S3 (à l'aide de l'assistant du concentrateur mobile AWS)

func downloadContent(content: AWSContent, pinOnCompletion: Bool) { 
    content.downloadWithDownloadType(.Always, pinOnCompletion: pinOnCompletion, progressBlock: {(content: AWSContent?, progress: NSProgress?) -> Void in 
      // Handle progress feedback 
     }, completionHandler: {(content: AWSContent?, data: NSData?, error: NSError?) -> Void in 
      if let error = error { 
       print("Failed to download a content from a server.)") 
       // Handle error here      
       return 
      } 
      // Handle successful download here 
      if let image = UIImage(data: data!){ 
       self.imageView = image 
      } 
     }) 
} 

Une fois que le téléchargement est réussi (il a fait, Il n'y a pas de message d'erreur), je suis en train d'affecter l'image à un imageView. Je peux dire que les données ont été téléchargées avec succès. Je peux imprimer les données et voir une structure binaire familière d'une image. Mais pour certaines raisons je ne peux pas assigner le UIImage à l'imageView. Parce que je ne peux pas convertir les données en UIImage. Je veux juste savoir si c'est la bonne manière de télécharger l'image de s3 ou est-ce que je manque quelque chose. Les "données" dans le bloc d'achèvement portent-elles l'image téléchargée? Je n'arrive pas à trouver de documentations à ce sujet.

Est-ce la fonction correcte à utiliser pour télécharger à partir de S3?

Répondre

0

Oui, les données contiennent les données d'image réelles. Vous pouvez mettre les données téléchargées dans un UIImageViewController et il devrait s'ouvrir correctement. En outre, cela est démontré dans un exemple d'application qui peut être téléchargé à partir de la console Mobile Hub.