storbinary(cmd, file, blocksize, rest_offset = nil)
public
Puts the connection into binary (image) mode, issues the given server-side
command (such as “STOR myfile”), and sends the contents of the file
named file to the server. If the optional block is given, it also
passes it the data, in chunks of blocksize characters.
Show source
def storbinary(cmd, file, blocksize, rest_offset = nil)
if rest_offset
file.seek(rest_offset, IO::SEEK_SET)
end
synchronize do
with_binary(true) do
conn = transfercmd(cmd)
loop do
buf = file.read(blocksize)
break if buf == nil
conn.write(buf)
yield(buf) if block_given?
end
conn.close
voidresp
end
end
rescue Errno::EPIPE
getresp
raise
end