Javascript Carrierwave图像上载不工作

Javascript Carrierwave图像上载不工作,javascript,ruby-on-rails,amazon-s3,carrierwave,image-upload,Javascript,Ruby On Rails,Amazon S3,Carrierwave,Image Upload,我正在尝试使用carrierwave-through-rails应用程序将徽标图像上传到AmazonS3 bucket。但我的文件上载并没有将文件读取为HTTP文件,并将NULL添加到数据库中。我无法找出我的代码有什么问题 这是我的模型 class StoreLocation < ActiveRecord::Base mount_uploader :logo_url, ImageUploader ... end })) 当我运行这个程序时,我可以在选择任何图像文件时看到表单上的缩

我正在尝试使用carrierwave-through-rails应用程序将徽标图像上传到AmazonS3 bucket。但我的文件上载并没有将文件读取为HTTP文件,并将NULL添加到数据库中。我无法找出我的代码有什么问题

这是我的模型

class StoreLocation < ActiveRecord::Base
  mount_uploader :logo_url, ImageUploader
  ...
end
}))

当我运行这个程序时,我可以在选择任何图像文件时看到表单上的缩略图,但请求中的参数如下:(来自rails日志)

我无法理解为什么logo_url只是作为文件名出现,它应该是什么样子

 "logo_url"=>#<ActionDispatch::Http::UploadedFile:0x00000009b07c88 @tempfile=#<Tempfile:/tmp/RackMultipart20141209-15502-1q6mzyf>, @original_filename="b3.jpg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"store_location[logo_url]\"; filename=\"b3.jpg\"\r\nContent-Type: image/jpeg\r\n">
“logo\u url”=>#
在此方面的任何帮助都将不胜感激。
谢谢。

默认情况下,Carrierwave有一种方法,即
列\名称
+
\ url
,用于在特定列中上载远程图像

例如:

user.logo\u url('http://www.example.com/example.png“)
将在用户模型的
徽标
列中保存此图像


将您的列从
logo\u url
重命名为
logo
,以便直接上载图像,而不是启动HTTP请求。

我不确定HTTP文件。您是否正在提供任何删除url或从系统中选择图像。我正在从系统中选择图像文件
<div>
          <input id="picholder" type="file" name = "store_location[logo_url]" style = "width: 0px;">
          <img id="storeLogo" src="/assets/Picupload_bg.png" alt="storeLogo" class = "small_thumb"/>
          <img src="/assets/brws.png" id="brws_logo_file" class = "brws_btn">
        </div>
$(document).on('ready page:load', function () {
  jQuery.validator.addMethod("lettersonly", function(value, element) {
        return this.optional(element) || /^[A-Za-z ]+$/i.test(value);
    }, " ");

function readURLImage(filePath) {
  if (filePath.files && filePath.files[0]) {
    var reader = new FileReader();        
    reader.onload = function (e) {
        $('#storeLogo').attr('src', e.target.result);
    }
    reader.readAsDataURL(filePath.files[0]);
  }
}

$("#picholder").change(function(){
    readURLImage(this);
  });

$("#brws_logo_file").click(function () {
    $("#picholder").trigger('click');
  });
Parameters: {"utf8"=>"✓", "authenticity_token"=>"Q0ejEHG2uzPlSlJ2XF8eC7uVXWs76jtEGfXRNCHgyuc=", "store_location"=>{"store_name"=>"Origins", "first_address"=>"Gulberg", "second_address"=>"", "country"=>"Pakistan", "state"=>"Punjab", "city"=>"Lahore", "zip_code"=>"54000", "phone_no"=>"111674446", "logo_url"=>"b3.jpg"}, "commit"=>"Submit"}
INSERT INTO `store_locations` (`city`, `country`, `created_at`, `first_address`, `logo_url`, `phone_no`, `second_address`, `state`, `store_name`, `updated_at`, `user_id`, `zip_code`) VALUES ('Lahore', 'Pakistan', '2014-12-10 10:33:37', 'Gulberg', NULL, '111674446', '', 'Punjab', 'Origins', '2014-12-10 10:33:37', 1, '54000')
 "logo_url"=>#<ActionDispatch::Http::UploadedFile:0x00000009b07c88 @tempfile=#<Tempfile:/tmp/RackMultipart20141209-15502-1q6mzyf>, @original_filename="b3.jpg", @content_type="image/jpeg", @headers="Content-Disposition: form-data; name=\"store_location[logo_url]\"; filename=\"b3.jpg\"\r\nContent-Type: image/jpeg\r\n">