打开 URI 下载损坏的文件

Open URI downloading corrupt files

我正在尝试使用 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

有办法解决这个问题吗?

open 调用中更改文件模式:

open('https://github.com/Arafatk/language-basics/blob/master/img.tar.gz', "rb").read

当您需要 binary 模式时,它以 text 模式打开文件。

您还需要使用正确的 URL 从 Github 下载原始文件。在这种情况下,可以通过右键单击文件回购页面上的 Raw link 找到正确的 URL(给出的原始 URL),并且 Raw URL 是包含您要下载的实际二进制图像的那个。将 URL 更改为:https://github.com/Arafatk/language-basics/raw/master/img.tar.gz,我在答案顶部建议的更改效果很好。