2012-09-24 4 views
2

J'ai utilisé Amazon S3 pour le contenu pendant un moment, mais je viens de parcourir une instance où j'ai besoin de définir le type de contenu pour les images téléchargées (besoin de le faire au moment du téléchargement). J'ai essayé quelques choses, mais ne peux pas sembler clouer la syntaxe correcte pour StoreSetMetaData.Coldfusion & Amazon S3 - Définition du type de contenu?

Voilà comment je le fais en ce moment ...

<cfset meta = [{content_type="Image"}]> 

<cfset StoreSetMetadata("s3://mybucket/#bgfull#", "#meta#")> 

Le reste du code isnt nécessaire, donc je viens dans les 2 collais lignes concernées.

En utilisant cette syntaxe, j'obtiens l'erreur suivante; 500 Vous avez tenté de déréférencer une variable scalaire de type classe coldfusion.runtime.Array en tant que structure avec des membres. "

Pointeurs très appréciés! Je n'ai pas réussi à trouver un seul exemple de syntaxe pour cela.

+0

si méta est accessible en tant que structure, il ne devrait pas être juste une structure au lieu d'un tableau avec une structure de premier indice? – jan

Répondre

4

Selon la documentation en ligne de StoreSetMetadata le deuxième argument est de type struct, et non de type array.

Essayez

<cfset meta = {content_type="Image"}> 

<cfset StoreSetMetadata("s3://mybucket/#bgfull#", meta)> 
+0

Merci! Cela a fait l'affaire – Lee

+1

Juste pour être difficile, n'oubliez pas que vous n'avez pas besoin de "# autour de ce second argument: