<table>
<tr>
<td>hello</td>
<td><img src="xyz.png" width="100" height="100"></td>
</tr>
</table>
我想将这个xyz.png以blob格式保存到我的数据库中,所以我如何才能将图像保存到
blob
格式中。 最佳答案
看看我写的这个简单的例子。本质上,我只是用一个id找到我想要的图像,然后得到它的来源。然后,打开一个临时文件来保存图像的内容,最后,打开src的url并将其写入临时文件。使用tempfile的好处是不需要清理。
require 'watir-webdriver'
require 'open-uri'
require 'tempfile'
browser = Watir::Browser.new :firefox
browser.goto("http://www.reddit.com")
img = browser.image(:id, "header-img").src
tempFile = Tempfile.new('tempImage')
open(img, 'rb') do |image|
tempFile.write(image.read)
end
tempFile.rewind
puts tempFile.read ###Make your database call here, simply save this tempFile.read as a blob
tempFile.close
tempFile.unlink # completely deletes the temp file
browser.close
在这个例子中,我只是获取reddit徽标并将二进制数据打印到屏幕上。您从未指定要使用哪个数据库,所以我不想假设,但您将在那里进行db调用,而不是执行'puts'。
关于ruby - 如何使用watir将图像保存在Blob字段中?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16190826/