- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我目前正在尝试编写一个类似于 Internet 上其他系统的自定义图像裁剪系统,用户可以在其中选择裁剪区域,然后相应地裁剪他们的图像。该应用程序在 Rails 中,我们使用 Paperclip 和 Amazon S3 来存储文件。虽然让 RMagick 从 S3 中适本地裁剪文件,但我遇到了很多麻烦。这是当前代码(不起作用):
if params[:width].to_i > 0 and params[:height].to_i > 0 then
photo = Photo.find(params[:id])
image_data = Net::HTTP.get_response(URI.parse(photo.photo.url(:big))).body
orig_img = Magick::ImageList.new
orig_img.from_blob(image_data)
args = [params[:x1].to_i, params[:y1].to_i, params[:width].to_i, params[:height].to_i]
orig_img.crop!(*args)
photo.update_attributes({:photo => orig_img.to_blob})
photo.photo.reprocess!
photo.save
end
主要问题是裁剪后的图像没有通过回形针上传回S3,因此裁剪不正确。以前有人用回形针尝试过这样的事情吗?这甚至可能是不可能的,但我们将不胜感激任何帮助。
最佳答案
我暂时能够解决这个问题如下:
photo = Photo.find(params[:id])
image_data = Net::HTTP.get_response(URI.parse(photo.photo.url(:big))).body
orig_img = Magick::ImageList.new
orig_img.from_blob(image_data)
args = [params[:x1].to_i, params[:y1].to_i, params[:width].to_i, params[:height].to_i]
orig_img.crop!(*args)
tmp_img = Tempfile.new("image_data")
orig_img.format = "png"
tmp_img.write(orig_img.to_blob)
photo.photo = tmp_img
tmp_img.close
photo.photo.reprocess!
photo.save
这里主要关注的是创建新临时文件的速度影响,因此我们可能必须创建自己的自定义界面。希望这可以成为人们解决类似问题的良好起点。
编辑:简单说明一下,Tempfile 是回形针库的一部分。
关于ruby-on-rails - Rails : Image cropping with Paperclip, S3 和 RMagick,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/620809/
我正在使用带有导轨的回形针并且它工作正常,但是我的问题是更新时如果我不重新选择图像,那么它会将记录保存为 nil。这是我的代码: 'avatar', :class => 'thumb
我正在使用带有 ImageMagick 的 Paperclip 来处理几千张图像并将它们上传到 S3。它通过了数百张图像而没有出现问题,然后出现以下错误: An error was received
我已经将 rails 应用程序部署到 heroku,在我更改域之前它运行良好,在本地运行正常,现在我开始收到以下错误:Paperclip::Errors::MissingRequiredValidat
我正在使用 Paperclip 和 paperclip-ffmpeg 来处理上传。下面是我的代码 Assets 类 { :mobile => {:geometry => "400x300
我是编程新手,我正在尝试使用回形针将用户照片添加到我的用户记录中。可以从没有 行的添加新记录表单创建记录,并正确重定向并将记录保存到数据库。但是,当它包含在保存时,它想重定向到 create.htm
我刚刚在带有 rails 3.2.9 的 Ubuntu 上安装了回形针,但无法上传图像。 我得到的消息是未初始化的常量 Paperclip::Storage::Fog::Excon。 对此有什么解释吗
我在使用 mod_rails 将我的应用程序部署到运行 ubuntu 的服务器时遇到了麻烦。在服务器上运行 webrick 似乎很好,我可以保存文件,没问题。但是通过 nginx 运行应用程序,当我尝
我最近安装了回形针 gem,要将它与 Amazon S3 一起使用,我需要更改初始化程序,但我在 config/initializers 中看不到它。如何创建它?/找到它? 最佳答案 如果 paper
最近我将我的 Rails 版本从 3.2 迁移到 4.2.6,同时我修改了一些 gem,例如回形针 2.3 到 4.3.6。当我运行 rails server 时,我得到以下弃用: DEPRECATI
我正在尝试为使用 Rails 作为后端的应用程序编写一个 API,该应用程序显示膳食列表。每个餐点都显示名称和照片。对于 API,我试图返回一个 JSON 数组,其中包含与膳食模型关联的所有照片 ur
我有一些珍贵的代码可以压缩大量文件,它在 tmp 文件系统中创建了一个 zip 文件并向其中添加了文件。 我试图通过使用 ruby 的 Tempfile 将文件存储在代码中而不是自己手动将其写入
当我尝试提交表单时,出现以下错误:Validation failed: Images imageable must exist并渲染相同的 new.html.erb看法。 如果我评论 file fie
我在我的应用程序中使用 Paperclip 和 Imagemagick,使用 Amazon S3 进行存储。在开发中一切正常。但在 Heroku 的生产环境中,它无法正常工作。 图像被上传到 Amaz
我有一个带回形针的 Rails 3 应用程序。如果附件是图片,并且图片的宽度或高度小于 100,我想跳过保存。 模型中有以下内容: validate :file_dimensions, :unle
使用 Paperclip,我想从这样的 URL 抓取图像: require 'open-uri' user.photo = open(url) 问题是我最后得到一个像“open-uri20110915
我正在尝试跳过 PaperClip处理我的音乐是否已被删除。 基本上,当我上传音乐时,如果出现问题,我想销毁上传文件的每一部分。此操作由 ffmpeg 延迟并完成.另一个任务被延迟到附加图片到我的音乐
我使用回形针来调整图片的大小,如下所示: class Asset { :thumb => "80x80#", :me
我正在使用 Paperclip 通过 S3 存储图像。据我了解,Paperclip 会将一个字符串(时间戳)附加到图像的末尾以用于缓存目的。你知道他们用什么方法来创建字符串吗?我需要使用 .js 重建
我正在使用 Thoughtbot 的 Paperclip gem处理文件上传。 我发现当我上传文件名中包含空格的文件时,它会被存储为空格替换为下划线。 那挺好的。 我还尝试上传带有特殊字符的文件,例如
rails 3.0 应用程序位于使用 apache/passenger 的 ubuntu 服务器上。部署app的用户是admin,也是运行app的用户(没选名字,admin没有root权限)。我今天又
我是一名优秀的程序员,十分优秀!