我对此真的很困惑:
来自官方回形针维基页面:
如果原始文件具有名为指纹的属性,则分配的原始文件的 MD5 校验和将被放置在模型中。
我的表中有一个attachment_fingerprint,回形针会自动将 md5 值插入该字段。
问题是,校验和是如何生成的?是上传前生成的还是上传后生成的?
例如,原始文件的校验和为 1,文件在上传过程中损坏,校验和现在变为 2,回形针将在该字段中插入哪个值?
我正在尝试使用 Paperclip 在 ActiveAdmin Post 编辑页面填写“图像”字段。导轨 4.0.0,回形针 4.2.0。在 Post 模型中,我添加了以下代码:
has_attached_file :image
validates_attachment :image, content_type: { content_type: [ "image/jpg", "image/jpeg", "image/png" ] }
Run Code Online (Sandbox Code Playgroud)
提交表单后,我有以下错误:
回形针 :: Admin 中的错误::PostsController#update
发布模型缺少 'image_file_name' 所需的 attr_accessor
好像忘记做点什么了。在这一步我错过了什么?好的,我已经手动添加了
attr_accessor :image_file_name
Run Code Online (Sandbox Code Playgroud)
提交后我收到另一个错误
Admin::PostsController#update 中的 NoMethodError
#Post:0x007fb148266e10 的未定义方法`image_content_type'
我不知道该怎么办这个。
我正在尝试检索回形针图像的尺寸。我尝试调用方法width并height应用于我的每个 Imagemodel 实例,但这些返回错误。
然后我试图从这篇文章中获得灵感:https : //github.com/thoughtbot/paperclip/wiki/Extracting-image-dimensions
并在控制台中使用以下内容播放了一下:
image = Imagemodel.first
geometry = Paperclip::Geometry.from_file(image)
Run Code Online (Sandbox Code Playgroud)
虽然我在控制台中收到以下错误
Paperclip::Errors::NotIdentifiedByImageMagickError:
Run Code Online (Sandbox Code Playgroud)
所以我有点困惑......我很高兴为我的表中的特定字段添加高度和宽度(而是在控制器中的创建操作中而不是在模型级别)或直接访问我的视图或控制器中的维度.. .
我正在尝试将 Spree 图像上传到 S3。但我很难做到这一点。
我收到此错误:
raise e
end
if Gem::Version.new(Aws::VERSION) >= Gem::Version.new(2) &&
Gem::Version.new(Aws::VERSION) <= Gem::Version.new("2.0.33")
raise LoadError, "paperclip does not support aws-sdk versions 2.0.0 - 2.0.33. Please upgrade aws-sdk to a newer version."
end
Run Code Online (Sandbox Code Playgroud)
据我了解,aws版本需要高于 2.0.33,但正如你所看到的,这是我的gemfile
#aws
gem 'aws-sdk', '~> 3'
Run Code Online (Sandbox Code Playgroud)
gem我也没有paperclip。需要添加一个吗?
嗨,我正在使用 ruby-2.5.0 和 rails 5 开发 RoR 项目。我正在开发 API,我必须编写一个 api 才能使用回形针上传多个图像。我正在使用邮递员,我可以从邮递员那里选择多张图片,但是当我发送请求时,我只得到了我选择的最后一张图片。如何上传多张图片?请检查屏幕截图。
提前致谢。
我试图在我的 Rails 应用程序上安装回形针 gem,我连续遇到了 3 个问题,我想向他们指出,它可能与最后一个问题有关:
1-我无法安装回形针依赖项“mimemagic”=>我通过将文件freedesktop.org.xml.in及其变量添加FREEDESKTOP_MIME_TYPES_PATH到我的Windows计算机来解决它。
2 - 然后在初始化回形针后,我无法进行迁移=>我通过添加我的rails应用程序的版本来解决它,该版本是[6.1] bessid活动记录,因此它变成了class AddAttachmentImageToPics < ActiveRecord::Migration[6.1].
3-我遇到的最后一个问题是,当我输入时,rails db:migrate我收到以下消息:
ArgumentError: wrong number of arguments (given 3, expected 2)
Run Code Online (Sandbox Code Playgroud)
这是我的迁移文件的内容:
class AddAttachmentImageToPics < ActiveRecord::Migration[6.1]
def self.up
change_table :pics do |t|
t.attachment :image
end
end
def self.down
remove_attachment :pics, :image
end
end
Run Code Online (Sandbox Code Playgroud)
cmd 中的消息:
C:\Users\Admin\Desktop\Ruby\instagrameme>rails db:migrate
== 20220205102326 AddAttachmentImageToPics: migrating =========================
-- change_table(:pics)
rails aborted!
StandardError: An error has occurred, this and all later migrations canceled:
wrong …Run Code Online (Sandbox Code Playgroud) 通常在html中我们将在image标签内使用Model.field.url(:thumb),如何在json上使用它,特别是使用hash_secret.
如何允许使用仅上传某种文件,例如只有PDF,Word或Excel文件?我使用Paperclip gem.
照片无法运行
identify命令.请安装ImageMagick.
回形针一直在开发中工作正常,但我突然无法上传照片..没有安装imagemagic,但它工作得更早.有人有线索吗?
这是我的控制台错误:
Setting Load (0.1ms) SELECT "settings".* FROM "settings" WHERE "settings"."id" = ? LIMIT 1 [["id", "14"]]
(0.1ms) begin transaction
Command :: identify -format '%wx%h,%[exif:orientation]' '/tmp/ubuntu_wallpaper_by_hyarmenadan-d54zgpm20130926-11024-9efnnx.jpg[0]'
[paperclip] An error was received while processing: #<Paperclip::Errors::CommandNotFoundError: Could not run the `identify` command. Please install ImageMagick.>
Command :: identify -format '%wx%h,%[exif:orientation]' '/tmp/ubuntu_wallpaper_by_hyarmenadan-d54zgpm20130926-11024-9efnnx.jpg[0]'
[paperclip] An error was received while processing: #<Paperclip::Errors::CommandNotFoundError: Could not run the `identify` command. Please install ImageMagick.>
Command :: identify -format '%wx%h,%[exif:orientation]' '/tmp/ubuntu_wallpaper_by_hyarmenadan-d54zgpm20130926-11024-9efnnx.jpg[0]'
[paperclip] An error was received …Run Code Online (Sandbox Code Playgroud) 是否有一种可接受的方式让Paperclip每次拨打电话时都不会发出网络请求model.attachment.url()?
我想缓存URL以获得更快的加载速度/能够加载我的开发环境,而无需连接wifi等.
paperclip ×10
ruby ×3
activeadmin ×1
fog ×1
imagemagick ×1
postman ×1
spree ×1
version ×1
windows ×1