2016-09-29 7 views
3

ファイルを受信して​​ドキュメントに添付できるサービスを作成しています。Java beanのファイルをXPageで受信

ファイルを送信するために使用するHTMLフォームを作成しました(下記)。フォームは、以下のトリガされたJava Beanを送信された後

テストフォーム

<html> 
<body> 
    <h1>Test-form to upload files (v.1.0.0) </h1> 

    <form action="/file.xsp/upload" method="post" enctype="multipart/form-data"> 
     <p> 
     Select a file : <input type="file" name="file" size="50" /> 
     </p> 

     <input type="submit" value="Upload It" /> 
    </form> 
</body> 
</html> 

は一例です。私はサービスに送信されたどのようにファイルにInputStreamを初期化するには知りませんが

JAVA BEAN

public class TestFile extends CustomServiceBean { 

    @Override 
    public void renderService(CustomService service, RestServiceEngine engine) throws ServiceException { 
     print ("START: Uploading of file..."); 

     HttpServletResponse res = engine.getHttpResponse(); 
     HttpServletRequest req = engine.getHttpRequest(); 

     ... 

。誰かがそれを行う方法(または例)を提案することはできますか?

ありがとうございます!

+1

私のfileVaultプロジェクトには、XAgent経由でファイルを取得する例があります。私はそれを操作するためにJavaコードを使用します。 https://bitbucket.org/leedy/filevaultまた、私のNotesIn9スクリーンキャストに関するより基本的な例も行いました。 http://www.notesin9.com/2016/08/25/notesin9-194-upload-files-with-plupload/多分それが役に立ちます。 –

+0

@David:あまりコメントしないでください。あなたのエントリーは、受け入れ可能な返信であることを保証します。 – stwissel

+0

@DavidLeedy、コメントありがとうございます。私はそこにJava beanを見つけることができませんでした、それがあれば見つけてくれたら助かりますか? –

答えて

2

ファイルをBeanに送信するのには当てはまらないのですが、サイズなどのアップロードされたファイルのプロパティを検証するために、次のコードに類似したものを使用しました。

私の場合、POSTはおそらくあなたのケースではないので、おそらく適用されませんXPageによって行われました。

HttpServletRequest request= engine.getHttpRequest(); 

@SuppressWarnings("unchecked") 
Map<String,Object> params=request.getParameterMap(); 

for (Entry<String, Object> tmpEntry : params.entrySet()) { 
    if (tmpEntry.getValue() instanceof UploadedFile) { 
     UploadedFile myFile=(UploadedFile)tmpEntry.getValue(); 
     //Do something with the file 
    } 
} 
+0

それは私のためにうまくいきました。 ファイルがDominoにすでにポストされているため、リクエスト本体が空だったため、ファイルハンドラを受信できませんでした。 私はそれを知らなかった:)。 –

+0

これは、XPages以外のhtml Webページでも有効です。 ;-) –

関連する問題