2013-01-19 4 views
3

Je suis en train de télécharger des photos à Amazon S3. J'ai réussi à utiliser carrierwave. Ensuite, je suis passé au téléchargement de plusieurs images jQuery. Suivant le railcast 383.télécharger sur Amazon S3

mon upload_helper ressemble exactement à ce qui est montré; sauf la méthode initialize. https://github.com/railscasts/383-uploading-to-amazon-s3/blob/master/gallery-jquery-fileupload/app/helpers/upload_helper.rb

suivant est dans la page que l'utilisateur peut télécharger leurs photos:

= s3_uploader_form post: items_url, as: "painting[image_url]" do 
     = file_field_tag :file, multiple: true 

    %script#template-upload{type: "text/x-tmpl"} 
     .upload 
      {%=o.name%} 
      .progress 
       .bar{ style: "width: 0%" } 

Je les js suivantes aussi:

//= require jquery-fileupload/basic 
//= require jquery-fileupload/vendor/tmpl 
//= require paintings 

comme il a été montré dans le tutoriel

Même si mon téléchargement S3 fonctionnait correctement avec le format carrierwave et le téléchargement de fichier unique, je recevais

failed to upload image error (coming from the last line in paintings.js.coffee). and 
Failed to load resource: the server responded with a status of 400 (Bad Request) 

<Error> 
    <Code>AccessDenied</Code> 
    <Message>Access Denied</Message> 
    <RequestId>XYZ</RequestId> 
    <HostId> 
     XYZ 
    </HostId> 
</Error> 

ma configuration CORS est:

<?xml version="1.0" encoding="UTF-8"?> 
<CORSConfiguration> 
    <CORSRule> 
     <AllowedOrigin>http://localhost:3000</AllowedOrigin> 
     <AllowedMethod>GET</AllowedMethod> 
     <AllowedMethod>POST</AllowedMethod> 
     <MaxAgeSeconds>3000</MaxAgeSeconds> 
     <AllowedHeader>*</AllowedHeader> 
    </CORSRule> 
</CORSConfiguration> 

Toute orientation est très apprécié

Répondre

4

l'ai trouvé !!!

Dans le upload_helper> S3Uploader> initialze ajouter un fuseau horaire à votre 'expiration:' comme ceci:

expiration: 10.hours.from_now.utc, 

qui a fait la magie pour moi

Bonne chance