Search code examples
runzip

R & figshare: corrupt zip when downloaded in R


I'm trying to make my research reproducible storing the data at figshare.
Something strange happens when I download and unzip the data in R.
here is the zip
If I download it manually, it opens ok; but when I try to get it with an R script, the downloaded archive is corrupt. Any ideas where is the problem?


the code to reproduce my error

url <- 'https://ndownloader.figshare.com/files/4797355'
path <- 'test/missing_data_raw.zip'

ifelse(file.exists(path1), yes = 'file alredy exists', no = download.file(url1, path1))

unzip(zipfile = path1,exdir = 'test')

Solution

  • Try setting the download mode to binary explicitly:

    url <- 'https://ndownloader.figshare.com/files/4797217'
    path1 <- tempfile(fileext = ".zip")
    if (file.exists(path1))  'file alredy exists' else download.file(url, path1, mode="wb")
    unzip(zipfile = path1,exdir = tempdir())