0

plone 4.3 では、plone4.3 at_download にいくつかのコードを書きました。「at_download」を含む URL にアクセスすると、ブロックされます。ただし、「at_download」が含まれていない URL をクリックすると、ファイルをダウンロードすることもできます。

ありがとう。

documentviewer を使用して .doc .pdf .ppt を表示します。ドキュメント ビューアーでファイルを表示できるようにしたいのですが、URL からファイルをダウンロードできません。

4

2 に答える 2

1

read_permissionこれが機能するかどうかはわかりませんが、コンテンツの「ファイル」フィールドの変更を試みることもできます。

ただし、おそらくこれにより、ファイルのプレビューも非表示になります (またはテンプレートが壊れます。その場合は修正する必要があります)。

于 2013-10-25T10:18:16.837 に答える
0

index_html誰もあなたのファイルを取得できないようにするには、独自の FileField を作成してメソッドを変更するのが最善の方法だと思います

  1. 独自の ATFile ベースのコンテンツ タイプを作成する必要があります デフォルトの plone ファイルの代わりにこのタイプを使用する場合は、同じ portal_type を使用してください

  2. fileフィールドを独自のものでオーバーライドするCustomFileField

あなたの FileField は次のようになります...

from plone.app.blob import field


class CustomFileField(field.FileField):

    def index_html(self, instance, REQUEST=None, RESPONSE=None,
                   no_output=False, disposition=None):
        """Docstring"""

        if self.has_permission_to_download():
            # Default behaviour
            super(CustomFileField, self).index_html(
                instance,
                REQUEST=None,
                RESPONSE=None,
                no_output=False,
                disposition=None)
        else:
            # Your code if the user does not have the permission
            raise WhatEverYouWant


       def has_permission_to_download(self):
           """Do your permission check"""

           return bool()

ショートカットはモンキー パッチですが、お勧めしません。

于 2013-10-25T08:08:51.597 に答える