2013-08-11 5 views

Répondre

0

Ok, je n'ai pas une réponse complète, mais j'ai essayé de trouver la même chose pour les deux derniers jours. Voici mon champ de formulaire:

<div class="filepicker"> 
    <%= f.label :filepicker_url, "Upload an image:" %> 
    <%= f.filepicker_field :filepicker_url, dragdrop: true, mimetypes: 'image/*', onchange: 'onImageUpload()', button_class: "btn btn-gray", id: "filepicker" %> 
</div> 

C'est le js qui va avec:

var base_url = "https://s3-us-west-2.amazonaws.com/YOUR_S3_BUCKET/" 

function onImageUpload() { 
    filepicker.pickAndStore(

     {mimetype:"image/*"}, 

     {location:"S3", access: "public"}, 

     function(InkBlobs){ 
     var key = (JSON.stringify(InkBlobs[0].key)); 
     key = key.replace("\"",""); 
     var url = base_url + key; 
     $('#filepicker').val(url); 
     console.log($('#filepicker').val()); 
     }, 

     function(FPError){ 
     console.log(JSON.stringify(FPError)); 
     }); 
} 

Ceci est pour stocker vos fichiers/images dans votre seau s3 et en utilisant cette URL directement (moins de dépendance encre). L'URL S3 est votre URL de base plus la clé s3 retournée dans le InkBlob. J'essaie d'insérer l'URL dans mon champ de saisie en utilisant jquery ... mais pour une raison inconnue, il ne sauvegarde pas avec mon utilisateur. Je peux voir qu'il est entré dans mon champ de saisie avec console.log, mais je ne sais pas pourquoi il n'est pas enregistré.

J'ai également des problèmes avec les protocoles incompatibles (http vs https) avec iframe. Et même si je n'ai pas encore réussi à stocker un fichier filepicker_url, je continue à lire sur les problèmes avec les turbolinks.

De toute façon, espérons que cela a aidé certains. Faites-moi savoir si vous comprendre plus.

Questions connexes