在我的Rails应用程序的工作者中,我试图在目录中下载图像占位符的图像:
以下是它的外观:
def perform platform_id
object = ::App::Platform.find platform_id
wrapper = File.dirname(Rails.root.join('tmp', 'wrappers', object.folder_name, object.platform, platform) # these are all local variables - don't care about them
Dir.glob(wrapper + '/**/*') do |path|
path = path.to_s # ?
replace_image object, path
end
end
def download_image path, url, image = true
response = HTTParty.get url
f = File.new path, 'w'
f.binmode if image
f.write response.body
f.flush if image
f.close
end
def replace_image object, path
download_image(path, object.app.logo.url, false) if path.include?('www/img/logo.svg')
if path.split('.').last == 'png' && path.include?('www/res/icon')
name = path.split('.').first.split('/')
os = name[name.length - 2]
version = name.last
FileUtils.rm path
download_image path, object.app.icon_url(os, version).to_s
end
end
现在,问题在于:
这样做......
$ response = HTTParty.get url
$ f = File.new Rails.root.join('test.png'), 'w'
$ f.binmode
$ f.write response.body
$ f.flush
$ f.close
...适用于rails控制台。
test.png
文件包含从网址下载的图片。
工作程序中的代码只是将�PNG
放入每个.png
文件中。下载.svg
文件效果很好。
修改
在生产中(在Heroku上)这很好用。这个问题只发生在开发中。