Railsフォームがファイルをアップロードした後にAmazon S3 URLを取得する方法の例を誰かに見せてもらえますか? 私のアプリケーションは、使用時に filepicker.io/etc/etc url を持っていますが、実際の amazon url が必要です。
https://github.com/Ink/filepicker-rails#accessing-filepicker-file-with-onchange
Railsフォームがファイルをアップロードした後にAmazon S3 URLを取得する方法の例を誰かに見せてもらえますか? 私のアプリケーションは、使用時に filepicker.io/etc/etc url を持っていますが、実際の amazon url が必要です。
https://github.com/Ink/filepicker-rails#accessing-filepicker-file-with-onchange
わかりました、完全な答えはありませんが、過去数日間、これと同じことを理解しようとしています. ここに私のフォームフィールドがあります:
<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>
これはそれに付随するjsです:
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));
});
}
これは、ファイル/画像を独自の s3 バケットに保存し、その URL を直接使用するためのものです (インクへの依存度が低くなります)。S3 URL は、ベース URL に InkBlob で返される s3 キーを加えたものです。jquery を使用して入力フィールドに URL を挿入しようとしていますが、なんらかの理由でユーザーに保存されません。console.log で入力欄に入力されているのはわかるのですが、なぜ保存されていないのかわかりません。
また、iframe でプロトコル (http と https) が一致しないという問題もあります。まだ filepicker_url を保存できていませんが、ターボリンクの問題について読み続けています。
とにかく、これがいくつかの助けになることを願っています。これ以上わかったら教えてください。