Writing encoded images to a file

Word 2003 supports an xml output for documents that uses Base64 to
encode the embedded images. Im looking to grab that image out of the
xml and write it to a file. Im able to parse the xml and isolate the
Base64 string but decoding it out to a file hasn’t been working for me;
the image doesn’t come back looking correct. Stripped down version of
the code assuming ‘AaBaCc’ represents the really long Base64 encoded GIF
image string:

require ‘base64’
str = ‘AaBbCc’
file = File.new("/test.gif", “w”)
file.syswrite(Base64.decode64(str))

Could be the string coming in, but wanted to get an idea if Im headed in
the right direction with the output before I tackle that debug
nightmare.

On Sun, 2006-06-04 at 21:25 +0900, Aaron Worsham wrote:

str = ‘AaBbCc’
file = File.new("/test.gif", “w”)
file.syswrite(Base64.decode64(str))

Assuming you’re on Windows, you’ll probably want “wb” rather than just
“w” for the file mode. Also, I’d do this:

File.open("/test.gif", “wb”) do |file|
file << Base64.decode64(str)
end

to make sure the file gets closed.

You could try change:
file = File.new(“/test.gif”, “w”)
to
file = File.new(“/test.gif”, “wb”)
So that its in binary mode.

j`ey
http://www.eachmapinject.com

c,y=(r,p,s=%w(rock paper scissors))[rand 3];d={s,
{p,0,r,1},p,{r,1,s,0},r,{s,1,p,0}};until y=~/(#{r
}|#{s}|#{p})/;$><<“#{[r,s]", "} #{[“or”,p]” "}?
";y=gets.chomp;end;$><<“You:#{y}\nComp:#{c}\n”;$>
<<“You #{d[y][c]?(d[y][c]>0?“Win”:“Lose”):“Draw”}\n”

Ross B. wrote:

On Sun, 2006-06-04 at 21:25 +0900, Aaron Worsham wrote:

str = ‘AaBbCc’
file = File.new("/test.gif", “w”)
file.syswrite(Base64.decode64(str))

Assuming you’re on Windows, you’ll probably want “wb” rather than just
“w” for the file mode. Also, I’d do this:

File.open("/test.gif", “wb”) do |file|
file << Base64.decode64(str)
end

to make sure the file gets closed.

That worked. Thank you very much.