4

エンタープライズアプリケーションでは、ファイルをドキュメントに添付する必要があります。ファイル名とファイルの内容がバイト配列になっています。MIMEを使用してファイルをドキュメントに添付するための解決策を見つけました。

    final MIMEEntity body = document.createMIMEEntity(fileName);
    final MIMEHeader bodyHeader = body.createHeader("Content-Disposition");

    final boolean isHeaderValSet = bodyHeader.setHeaderVal("attachment; filename=\"" + fileName + "\"");
    if (!isHeaderValSet) {
        throw new ComponentException("Could not set MIME header value.");
    }

    body.setContentFromBytes(fileContentOutput, mimeType, MIMEEntity.ENC_IDENTITY_BINARY);
    final boolean saveSuccessful = document.save();
    if (!saveSuccessful) {
        throw new Exception("Cannot attach file " + fileName + "to document: " + documentUniversalId);
    }

この方法はファイルに対しては機能するようですが、別のファイルをアップロードしようとすると、次の例外が発生します。

NotesException:アイテム本体はすでに存在します

ファイルの名前とバイト配列の内容しかない場合に、ドキュメントに複数のファイルを添付する方法はありますか?

4

1 に答える 1

4

bodyという「親」MIMEEntityを作成する最初の行を保持します。次に、ループで、含めるすべてのファイルの子MIMEエンティティを作成します。

final MIMEEntity child = body.CreateChildEntity;
child.setHeaderVal("attachment; filename=\"" + fileName + "\"");
child.createHeader("Content-Disposition");
child.setContentFromBytes(fileContentOutput, mimeType, MIMEEntity.ENC_IDENTITY_BINARY);

CreateChildEntity

于 2012-07-02T14:01:42.453 に答える