0
  1. ユーザーがファイル ダウンロード コンポーネント (ビン アイコン) で添付ファイルを削除したときに、どうにかしてイベントをキャッチする必要があります。ドキュメントを自動保存するか、少なくとも彼に、そのドキュメントは変更されているので保存する必要があることを伝えたいです。ユーザーが添付ファイルを削除してウィンドウを閉じても、添付ファイルは削除されずに残ります。ユーザーは、添付ファイルが添付リストから消えている間、添付ファイルがなくなっていることを知らない、と彼は考えています。

  2. ユーザーがファイルをダウンロードしたときに、どうにかしてイベントをキャッチする必要があります。ログに追加したい。次のようなもの: 1.1.2014 12:33 Johnny Cash が four-roses.pdf をダウンロードしました

解決策はありますか?ありがとう、ジクラ

4

3 に答える 3

2

fileNameHrefValue属性を上書きし、ファイル アクセスをログに記録するダウンロード XPage にユーザーをリダイレクトすると、ファイルのダウンロードを追跡できます。

<xp:fileDownload
   rows="30"
   id="fileDownload1"
   displayLastModified="false"
   value="#{document1.Body}"
   allowDelete="true">
      <xp:this.fileNameHrefValue>
         <![CDATA[#{javascript:
            var fName = this.getFileId();
            var docUNID = document1.getDocument().getUniversalID();
            var path = "http://www.example.com/yourdb.nsf/download.xsp";
            path + "?documentId=" + docUNID + "&fileName=" + fName & "&fieldName=Body";
         }]]>
         </xp:this.fileNameHrefValue>
</xp:fileDownload>

生成された URLのパラメーターfieldNameは、fileDownloadComponent がバインドされているフィールドと一致する必要があります。

download.xspは、別のリダイレクトを実行するだけです。

<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
<xp:this.data>
    <xp:dominoDocument var="documentFile"></xp:dominoDocument>
    <xp:dominoDocument
        var="documentLog"
        ignoreRequestParams="true">
    </xp:dominoDocument>
</xp:this.data>


<xp:this.beforeRenderResponse>
    <![CDATA[#{javascript:
    var dbPath = documentFile.getParentDatabase().getFilePath();

    var url = "http://www.example.com/";
    url += dbPath; 
    url += "/xsp/.ibmmodres/domino/OpenAttachment/";
    url += dbPath + "/";
    url += documentFile.getDocument().getUniversalID();
    url += "/" + param.get("fieldName") + "/";
    url += param.get("fileName");
    facesContext.getExternalContext().redirect( url );
    facesContext.responseComplete();

    documentLog.setValue("User", session.getUserName() );
    documentLog.setValue("FileName", param.get("fileName") );
    documentLog.save();

    }]]>
</xp:this.beforeRenderResponse>
</xp:view>

編集:

ここでは、filedownload コントロールの削除機能を操作する方法を見つけることができます。

ファイル ダウンロード コントロールで添付ファイルを削除した後にドキュメントを自動保存しますか?

于 2013-05-14T10:26:40.023 に答える