javascript - 如何通过 .ajax() jQuery 方法获取 Carrierwave 上传到 Amazon S3 的图像的 URL?

标签 javascript jquery ruby-on-rails ajax amazon-s3

通过 Carrierwave 和 jquery-file-upload 上传后。我需要从 javascript 访问这些文件。我知道使用 Carrierwave 的 url 方法很容易获取这些文件。但我需要通过 .ajax() 方法获取这些 URL。有什么解决办法吗?

我可以获取文件名,但我需要获取上传路径......

    $('.new_plotphoto').fileupload({
        done: function(e,data){
              var filess= data.files[0];
              var filenam = filess.name;
              console.log(filenam);}});

最佳答案

在响应您的代码片段的 Controller 操作中,您可以将 url 字段添加到 json 响应,其中包含来自 Carrierwave 的 url 方法的 url。

@upload = Upload.create(...)
respond_to do |format|
  format.json { render json: @upload.as_json.merge({"url" => @upload.carrier_wave_url }) }
end

$('.new_plotphoto').fileupload({
    done: function(e,data){
          var filess= data.files[0];
          var filenam = filess.name;
          var url = filess.url; // NEW
          console.log(filenam);
     }
});

关于javascript - 如何通过 .ajax() jQuery 方法获取 Carrierwave 上传到 Amazon S3 的图像的 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28295631/

相关文章:

javascript - 使用 Passport-local 保护 API

jquery - 如果使用 jQuery 输入为空,则禁用提交按钮

jquery - 元素在 css 动画完成之前消失

ruby-on-rails - 在这种情况下如何处理质量分配

javascript - ExtJS。在渲染时加载商店

javascript - Angular:在订阅中没有使用 promise 的情况下发生 promise 错误

javascript - JSON 的正确语言是什么

javascript - 如何在所有类型的屏幕上始终将对象放置在左侧图像下方(响应式)

ruby-on-rails - Formtastic::FormBuilder的未定义方法 'actions'

ruby-on-rails - find_or_create_by 多个属性在belongs_to 对象的上下文中调用时找不到记录(2.3.11 中的AR 错误?)