Unable to bulk download selected files from a folder if they are >1GB total in size

Nextcloud version: 19.0.7
Operating system and version: OpenBSD 6.8
Apache or nginx version: nginx/1.18.0
PHP version: 7.3

The issue you are facing:

I have a big folder with 231 files, of which 230 are photos a few MB each (1.1GB total) in size and one is a large video, 2.9GB in size. I would like to download all the photos without downloading the video, so I select all files, deselect the video and press “Download” in the “Actions” menu. Nothing happens. Reopening the “Actions” menu shows a spinning circle next to the “Download” button.

Some interesting notes:

  1. Downloading the entire folder works, both by going up one level and pressing “Download” in the three-dots menu, as well as by selecting every file from inside the folder and pressing “Download” in the “Actions” menu.
  2. Downloading selected files from the folder works, as long as they are less than 1GB in size all together. I tested this by simply deselecting more photos until the counter at the top went from 1.1GB to ~950MB, at which point I was able to download the selected photos.
  3. There are no errors in the logs whatsoever. Literally nothing happens in the error logs of NC or nginx while doing this procedure.

I was able to reproduce this behaviour on various machines and networks on different days. If anyone has any clue what the issue may be (A PHP setting? Nginx? Some other limit?) then I’d be really thankful if you could point it out!

Steps to replicate it:

  1. In the web interface, open a folder with lots of files (230 total) that are a few megabytes each (1.1GB total) and a single big file, in my case a video (2.9GB).
  2. Select all of them, deselect the big video
  3. Press “Actions” and then “Download” in the menu that pops up.
  4. The menu closes, nothing happens.
  5. Reopening the menu shows just a spinning circle next to the “Download” button.

The output of your Nextcloud log in Admin > Logging:

Nothing here

The output of your Apache/nginx/system log in /var/log/____:

Nothing here

Funnily enough I was not able to reproduce this with a different folder of only a few files, where each file is 250MB in size. Even if I selected files that amounted to more than 1GB, I was able to download them. :weary:

I got the same issue. My oberservation leads me to believe that the reason for this is probably the enormous URL thats being used when a lot of files are being selected for Download since when only one folder or all of the files at once are selected the URL is shorter when I’m not mistaken.

Nextcloud adds each file that is being selected to the URL. For a single folder its shorter of course. For multiple files it adds a lot of character till it can’t seem to handle more.
My tests showed that the URL in total can have about ~ 3059 characters + 159 for my Domain. Thats still quite a lot. For me that’s about 254 photos. But it’s a problem I would like to solve since with a lot of files (no matter the size of each) it will happen again.

Since this happens only with GET one solution might be to switch to POST for file Downloads, don’t know if thats possible though.

This is still the case with NC 28. And the worst thing here is that there’s no error message about it. It just silently fails.

The NC file app should know if it is able to successfully build and send an url / get command and it should respond to the user with some error message if it fails to do so.

I recommend to open an issue call on Github: