Skip to content
Back to formatted view

Raw Message

Message-ID: <CAN6Gc-20B82J4E-3_Esqy2A6cxC8HF-2gd6jfdQUjk99aAYf2g@mail.gmail.com>
Date: 2025-08-10T18:37:36Z
From: Paul McQuesten
Subject: Including mode='wb' in download.file() for .xlsx files on Windows ?
In-Reply-To: <IA1PR12MB62094D1DED0ACC2B989EA12F8829A@IA1PR12MB6209.namprd12.prod.outlook.com>

Perhaps it would be simpler, and more future-proof, for R to always
download as binary.
Are there any modern consumers of text files that are bothered by '\r\n'?
Or even Macintosh '\r' line terminators?

On Sun, Aug 10, 2025 at 1:22?PM Hernando Cortina <hch at alum.mit.edu> wrote:

> Yes, .docx and .pptx are part of the same specification.
>
>
>
> Kind regards
>
> Hernando
>
>
>
> *From: *Paul McQuesten <mcquesten at gmail.com>
> *Date: *Sunday, August 10, 2025 at 1:34?PM
> *To: *Hernando Cortina <hch at alum.mit.edu>
> *Subject: *Re: [Rd] Including mode='wb' in download.file() for .xlsx
> files on Windows ?
>
> IIUC, '.docx' files are also binary?
>
>
>
> On Sun, Aug 10, 2025 at 11:29?AM Hernando Cortina <hcortina71 at gmail.com>
> wrote:
>
> Hello all, regarding download.file():
>
> On Windows, if mode is not supplied (missing()) and url ends in one of
> ??.gz??, ??.bz2??, ??.xz??, ??.tgz??, ??.zip??, ??.jar??, ??.rda??,
> ??.rds??, ??.RData?? or ??.pdf??, mode = "wb" is set so that a binary
> transfer is done to help unwary users.
>
> May I suggest possibly including .xlsx files to the list of extensions
> that get this treatment?
>
> Downloading such files may be a quite common activity in the R
> community and having to manually add mode=?wb? may indeed catch
> Windows users unaware, particularly if they are coming from Linux or
> Mac where this is not necessary.
>
> I understand that it?s hard to know when to stop when adding
> additional extensions.  That said, .xlsx is quite ubiquitous in the
> wild and standardized under ECMA-376.
>
> I hope this might be helpful to others, and thank you for your
> consideration.
> Hernando
> ---------------
>
>  The change in src/library/utils/R/Windows/download.file.R would be:
>
> ?
>
> if(missing(mode) &&
> length(grep("\\.(gz|bz2|xz|tgz|zip|jar|rd[as]|RData|xlsx)$",
>
>                     URLdecode(url))))
>
>         mode <- "wb"
>
> ?
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>
>

	[[alternative HTML version deleted]]