我正在尝试使用Ruby下载.tar.gz文件。下载后,文件总是以某种方式损坏。
我正在使用此代码下载文件:
require "open-uri"
File.open('img.tar.gz', 'wb') do |fo|
fo.write open('https://github.com/Arafatk/language-basics/blob/master/img.tar.gz').read
end
有没有办法解决这个问题?
答案 0 :(得分:2)
更改open
电话中的文件模式:
open('https://github.com/Arafatk/language-basics/blob/master/img.tar.gz', "rb").read
当您需要二进制模式时,它正在 text 模式下打开文件。
您还需要使用正确的URL从Github下载原始文件。在这种情况下,右键单击文件的repo页面上的Raw
链接(给定的原始URL)可以找到正确的URL,Raw
URL是包含实际二进制图像的URL您正在尝试下载。将网址更改为:https://github.com/Arafatk/language-basics/raw/master/img.tar.gz,我在答案顶部建议的更改就可以了。