• 升级了最新的版本,问题解决了。 现在的问题是版本问题,如何将图片按分辨率,分版本上传上去,然后直接下载。 我上传了一张20M的照片,然后就悲剧了。

  • 当我添加了: config.active_storage.analyzers = [ ActiveStorage::Analyzer::QiniuImageAnalyzer, ActiveStorage::Analyzer::QiniuVideoAnalyzer ] 之后,显示analyzers失败。

    我很喜欢用CarrierWave里面的remote_url,直接抓取外面的资源,现在怎么搞? 另外,原来carrierwave里面,是在上传的时候,做图像处理的,还可以添加水印、圆角什么的,现在怎么搞?是不是都要到显示的时候来处理?这样的话,是不是每次显示的时候都要运算,原来是分成不同的版本存下来的,显示的时候直接调用就好了。

    另外,询问一下,mongoid上怎么用这个东西?CarrierWave是有mongoid的整合gem的。

  • 我在使用Active_Storage的时候,遇到了一个奇怪问题。 这么多年来,一直都在使用七牛云,做了设置: storage.yml里面

    qiniu:
        service: Qiniu
        access_key: <%= Rails.application.credentials.dig(:qiniu, :access_key) %>
        secret_key: <%= Rails.application.credentials.dig(:qiniu, :secret_key) %>
        bucket: <%= Rails.application.credentials.dig(:qiniu, :bucket) %>
        domain: <%= Rails.application.credentials.dig(:qiniu, :domain) %>
    

    development.rb 里面

    config.active_storage.service = :qiniu
    

    _form.html.erb里面

    <%= form.file_field :image, direct_upload: true%>
    

    在上传文件的时候,却得到了这样的提示:

    NameError (Cannot load `Rails.config.active_storage.service`:
    uninitialized constant ActiveStorage::Service::QiniuService::Qiniu):
    

    使用local的时候,没有问题。 七牛的全套设置,是在其他项目里面一直在用的,肯定没有问题。

    请问我少设置了什么吗?

  • 做注释的时候,还没有找到正确的方法。在找到正确方法之后,就把注释取消了。

  • 调整了一下,解决了问题。 先在application_controller.rb里面把

    protect_from_forgery with: :exception
    

    注释掉,算是把逻辑调整完成了。

    然后在js里面加上了:

    axios.defaults.headers.common['X-CSRF-Token'] = document.getElementsByTagName("meta")[1].content;
    
    

    再恢复application_controller.rb里面的

    protect_from_forgery with: :exception
    

    工作正常。

    作为一个把写程序作为业余爱好的业余程序员,经常会遇到很多稀奇古怪的问题,在慢慢解决问题的过程中,寻找乐趣。

  • 是的,应该如何处理呢? 我没有办法取得 $('meta[name="csrf-token"]').attr('content')。 有什么方法可以获得独立的token吗?

  • 我原来用的是ruby2.3和rails4.2.3

    新应用用的是ruby2.4和rails5.1.2

    carrierwave-mongoid 0.10.0

  • 我创建了新的应用,将原来应用的mongodb数据库备份下来,还原到一个新的数据库上,然后建立了相同的model,建立了相同的carrierwave.rb的配置文件,相同的Uploader。

    却无法找到相关的文件。

    现在直接将新的应用指向了原来的数据库,依然没有办法找到相关的文件信息。

    不解啊。估计不是数据库的问题,应该是我的配置少了什么东西吧。

  • 感谢,我会去尝试一下。