【问题标题】:filepicker example code for rails to get S3 urlrails 获取 S3 url 的文件选择器示例代码
【发布时间】:2013-08-11 14:46:35
【问题描述】:

有人可以告诉我在我的 Rails 表单上传文件后如何获取亚马逊 S3 url 的示例吗?当我使用时,我的应用程序有 filepicker.io/etc/etc 网址,但我想要实际的亚马逊网址。

https://github.com/Ink/filepicker-rails#accessing-filepicker-file-with-onchange

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 filepicker.io


    【解决方案1】:

    好的,我没有完整的答案,但过去几天我一直在试图弄清楚同样的事情。这是我的表单域:

    <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,但我一直在阅读有关 turbolinks 的问题。

    无论如何,希望这对一些人有所帮助。如果您还想通了,请告诉我。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-12-13
      • 1970-01-01
      • 2022-12-16
      • 1970-01-01
      • 1970-01-01
      • 2014-02-21
      • 2010-11-19
      相关资源
      最近更新 更多