nextcloud / server

☁️ Nextcloud server, a safe home for all your data
https://nextcloud.com
GNU Affero General Public License v3.0
27.3k stars 4.06k forks source link

[Bug]: Cannot view pdf file if download permission is off #41686

Open artonge opened 11 months ago

artonge commented 11 months ago

⚠️ This issue respects the following points: ⚠️

Bug description

In internal shares, when download permission is disabled, the user cannot view a .pdf file.

Steps to reproduce

  1. Create a folder with a .pdf file in it
  2. Create an internal share of that folder
  3. Remove the download permission
  4. As the recipient, try to open the .pdf in the viewer.

Expected behavior

The .pdf file should be viewable. Viewing files in a public link, with the hide download option enabled, work as expected.

Installation method

None

Nextcloud Server version

master

Operating system

None

PHP engine version

None

Web server

None

Database engine version

None

Is this bug present after an update or on a fresh install?

None

Are you using the Nextcloud Server Encryption module?

None

What user-backends are you using?

Configuration report

No response

List of activated Apps

No response

Nextcloud Signing status

No response

Nextcloud Logs

No response

Additional info

No response

szaimen commented 11 months ago

I think this is technically not sovable because the pdf viewer needs to be able to download the pdf file in the browser in order to load it into its iframe...

aukfood commented 11 months ago

Hello, so we have the same problem with other type of file.

For example images :

  www/apps/dav/lib/DAV/ViewOnlyPlugin.php","Line":100,"message":"Access to this resource has been denied because it is in view-only mode.","exception":{},"CustomMessage":"Access to this resource has been denied because it is in view-only mode."}}

odt file could be open by Collabora with error in log

apps/dav/lib/DAV/ViewOnlyPlugin.php","Line":100,"message":"Access to this resource has been denied because it is in view-only mode.","exception":{},"CustomMessage":"Access to this resource has been denied because it is in view-only mode."}}

Same for a pdf

apps/dav/lib/DAV/ViewOnlyPlugin.php","Line":100,"message":"Access to this resource has been denied because it is in view-only mode.","exception":{},"CustomMessage":"Access to this resource has been denied because it is in view-only mode."}}

And a video

apps/dav/lib/DAV/ViewOnlyPlugin.php","Line":100,"message":"Access to this resource has been denied because it is in view-only mode.","exception":{},"CustomMessage":"Access to this resource has been denied because it is in view-only mode."}}
maximelehericy commented 6 months ago

I have issue with a public share as well. Only the first page is displayed, but scrolling to other pages is impossible.

t-markmann commented 5 months ago

Hi, this was possible at least until NC 27.1.5.1.

This happens as well in public shares (with "hide download" option).

grafik

No error in the nextcloud.log

grafik

This is reproducable in current NC28.

Volker-K commented 5 months ago

On NC 28.0.3.2 I recognized that viewing a PDF file in an external link with checkbox "Download verbergen" (Download hidden) works fine but does not when you share a file with a NC user and don't check "Download erlauben" (allow download),

Shareing a file that can not be displayed within the browser view of Nextcloud without the possibility to download it is quite senseless. When I can't download it to use a local software to open ist and I can't open it within the cloud itself - why do you share this file with me? Pictures can be viewed in the browser even if PDF can't be displayed, an -Tag tells the Browser to download the file, too. That's inconsistent.

Most users will expect that the file can be shown in the browser but there is no link shown to download it when download is disabled. But shareing files or folders you can only see as directory entries but can't even view their content, even if nextcloud could show them in the browser, is completely senseless.

I suggest to change "allow download" to "hide download" and just hide the download possibility of files but show them whithin the cloud if there is an app just in the way it is done at external links.