打开 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,我在答案顶部建议的更改效果很好。
我正在尝试使用 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,我在答案顶部建议的更改效果很好。