R
Rob Pa
Hi,
I was wondering if you possibly help?
I am looking to split up a file, say an image file, and then at a later
date reassemble all of the pieces of this split file to recreate the
image.
I have implemented this so far;
file = File.open("image.jpg","rb"){|f|f.read}
i = 1
file.bytes.each_slice(10000) do |slice|
new_file = File.new("file_#{i}.txt", "w+")
new_file.puts(slice.pack('C*')))
i = i + 1
end
I think this is the right logic to split up a file, storing the bytes
into a text file name file_1.txt, file_2.txt etc based on the size of
the file.
To recreate the file I am thinking of doing something along the lines
of;
new_file = File.new("image_recreated.jpg", "wb+")
#for each split up file do |n|
file = File.open("file_#{n}.txt","rb"){|f|f.read}
new_file.puts(file)
end
When testing it, the new image_recreated file gets created however is
not accessible to view.
I hope someone could possibly help.
Thanks a lot
I was wondering if you possibly help?
I am looking to split up a file, say an image file, and then at a later
date reassemble all of the pieces of this split file to recreate the
image.
I have implemented this so far;
file = File.open("image.jpg","rb"){|f|f.read}
i = 1
file.bytes.each_slice(10000) do |slice|
new_file = File.new("file_#{i}.txt", "w+")
new_file.puts(slice.pack('C*')))
i = i + 1
end
I think this is the right logic to split up a file, storing the bytes
into a text file name file_1.txt, file_2.txt etc based on the size of
the file.
To recreate the file I am thinking of doing something along the lines
of;
new_file = File.new("image_recreated.jpg", "wb+")
#for each split up file do |n|
file = File.open("file_#{n}.txt","rb"){|f|f.read}
new_file.puts(file)
end
When testing it, the new image_recreated file gets created however is
not accessible to view.
I hope someone could possibly help.
Thanks a lot