RCurl を使用してバイナリ ファイルをダウンロードする例の多くは次のようなものです。
library("RCurl")
curl = getCurlHandle()
bfile=getBinaryURL (
"http://www.example.com/bfile.zip",
curl= curl,
progressfunction = function(down, up) {print(down)}, noprogress = FALSE
)
writeBin(bfile, "bfile.zip")
rm(curl, bfile)
ダウンロードが非常に大きい場合は、すべてをメモリにフェッチするのではなく、ストレージ メディアに同時に書き込む方がよいと思います。
RCurl のドキュメントには、チャンクごとにファイルを取得し、ダウンロード時に操作する例がいくつかありますが、それらはすべてテキスト チャンクを参照しているようです。
実際の例を教えてください。
アップデート
ユーザーは、バイナリ ファイルのオプションを指定して R ネイティブdownload file
を使用することを提案しています。mode = 'wb'
多くの場合、ネイティブ関数は実行可能な代替手段ですが、このネイティブ関数が適合しない多くのユースケース (https、cookie、フォームなど) があり、これが RCurl が存在する理由です。