我用保存刮取的图像
img_url = agent.page.at(".field-content a")[:href]
root_img_url = URI.join(page_url,img_url).to_s
cover = File.basename(root_img_url)
file = File.open(File.join(Rails.root, 'app', 'assets', 'images', cover), 'wb') { |f|
f.write(open(root_img_url).read)
}
有些图像的名称中有一个%26
,如cover_b%26w_xyz_.jpg
,当我将它们保存在数据库中,并希望在索引视图中看到它们时,它们不会出现,但仍保存在assets/images文件夹中。
在数据库中保存文件cover
之前,如何替换%26
字符?
%26
是一个URL编码的&
,因此您可以使用URI.decoded
:
cover = File.basename(URI.decode(root_img_url))
# cover is now 'cover_b&w_xyz_.jpg'