【问题标题】:Paperclip copy image to another model without original file回形针将图像复制到另一个没有原始文件的模型
【发布时间】:2018-08-07 09:20:51
【问题描述】:

我知道我可以像这样将图像从一个模型复制到另一个模型:

model2.image = model1.file

但是,我的第一个模型不存储 :original 文件。所以这行不通。

所以我这样尝试:

model2.image = File.open(model1.file.url(:high))

但该文件未找到但确实存在。

Errno::ENOENT: 没有这样的文件或目录@rb_sysopen - //s3.eu-west-3.amazonaws.com...

我错过了什么?

【问题讨论】:

    标签: ruby-on-rails paperclip


    【解决方案1】:

    你打开了一个错误的远程文件:

    require 'open-uri'
    
    path = "https://s3.eu-west-3.amazonaws.com..."
    model2.image = open(path).read
    

    出于安全原因,File.open 不应与远程文件一起使用。

    【讨论】:

    • 我在使用 open-uri 时遇到了完全相同的问题。 image.file = open(photo.file.url(:high)).readErrno::ENOENT: No such file or directory @ rb_sysopen - //s3.eu-west-3.amazonaws.com/app-dev/usr/photos/files/000/000/000/017/high/file.jpg
    猜你喜欢
    • 2012-12-22
    • 2013-11-20
    • 2011-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多