5
一個偉大的答案在這裏介紹瞭如何在Ruby中,下載文件,而無需加載到內存:如何驗證IO.copy_stream成功
https://stackoverflow.com/a/29743394/4852737
require 'open-uri'
download = open('http://example.com/image.png')
IO.copy_stream(download, '~/image.png')
我將如何驗證調用IO.copy_stream來下載文件實際上是成功的 - 意味着下載的文件與我打算下載的文件完全相同,而不是下載的一半損壞的文件? documentation表示IO.copy_stream返回它複製的字節數,但是如何知道尚未下載文件時預期的字節數?
成功對你意味着什麼?磁盤上正確的字節數是多少?該文件是其類型的有效文件?還有別的嗎? –
@DaveSchweisguth對不起,我認爲這將是自我解釋。下載的文件是url處文件的精確副本。我會自動思考cksum,但我知道這不可能。所以也許唯一的選擇是驗證文件的大小是否匹配? – joshweir
您應該小心:服務器不需要在標題中返回「Content-Length」。 –