Shared Folder doesn't work :(

We use the current version of nextcloud and have the issue that when a user ( logged or not) tries to upload files via drag’n drop in a shared folder, it gets an error message: “couldn t upload file.extension”

This does not happen when adding the file via the context menu (+ icon in the topbar). All other features of the instance works just fine. Also i have activated the encryption module for the instance, could that be the issue?

here a link to a shared folder of my instance

Netxcloud version: 21.0.1, Ubuntu 20.04 installation using snap

Many thx and best regards

With Network Analyses of Mozilla Firefox i found this:

<?xml version="1.0" encoding="utf-8"?>
<d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns">
  <s:exception>Sabre\DAV\Exception</s:exception>
  <s:message>Could not rename part file to final file</s:message>
</d:error>

Please search this message. Perhaps a problem with icewind, SMB ???!!!???

1 Like

Hi!

Thanks for the help. Indeed the problem seems to be on the DAV app. The problem should fix doing some changes in the config file of dav app, Uploading to shared public upload-only Folder fails: Could not rename part file to final file · Issue #8942 · nextcloud/server · GitHub ( Sugaroverdose user gives the solution)…
BUT my instance was installed with snap I cannot write on the DAV’s config file because its says that the config file (File.php) is an read-only file system… what can i do so i CAN edit dav’s config file???

Many thx and best regards

1 Like

Thanks @devnull for the help. The problem was indeed in DAV app config file, that could not rename the uploaded file. The solution is to do some minor changes on it, and they can be found here:

in: server/apps/dav/lib/Connector/Sabre/File.php
modify Lines 151 to 153 in
from

if (!$view->isCreatable($partFilePath) && $view->isUpdatable($this->path)) { $needsPartFile = false; }

to

if ((!$view->isCreatable($partFilePath) && $view->isUpdatable($this->path)) || (!$view->isReadable($partFilePath))) { $needsPartFile = false; }

BUT my nextcloud instance was deployed using snap, so i cannot do changes on DAV´s config file. I found here a workaround for this problem. What i have to do, was to copy the complete folder where the config file is, in another location outside snap folders (i choose /mnt/Sabre), in order to make the changes on the config file, and then you mount the copied directory containing the edited config file (and all other files) on top of the DAV’s config folder inside snap, using the following command:

sudo mount --bind -o nodev,ro /mnt/Sabre /snap/nextcloud/current/htdocs/apps/dav/lib/Connector/Sabre

Then i added this command to crontab and now everything works like a charm!

ps: thanks also to sutty :kissing_heart: