【问题标题】:Receive files in Java bean in XPages在 XPage 中接收 Java bean 中的文件
【发布时间】:2016-09-29 20:58:54
【问题描述】:

我正在创建可以接收文件并将它们附加到文档的服务。

我创建了用于提交文件的 HTML 表单(示例如下)。

测试表格

<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>

一旦提交表单,就会触发 Java bean,下面是示例。

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();

        ...

但是我不知道如何将 InputStream 初始化为提交给服务的文件。任何人都可以建议(或示例)如何做到这一点?

谢谢!

【问题讨论】:

  • 在我的 fileVault 项目中,我有一个通过 XAgent 获取文件的示例,我相信。然后我使用 Java 代码来操作它。 bitbucket.org/leedy/filevault 我还在我的 NotesIn9 截屏视频中做了一个更基本的示例。 notesin9.com/2016/08/25/notesin9-194-upload-files-with-plupload也许会有所帮助。
  • @David :不要这么谦虚只发表评论。您的参赛作品保证是可接受的回复
  • @DavidLeedy,感谢您的评论。我在那里找不到 java bean,如果它在那里,请你帮我找到它吗?
  • 斯蒂芬-谢谢。由于我所拥有的只是示例链接,而且我没有粘贴详细信息,因此我一直认为 StackOverFlow 不喜欢那样...
  • Dmytro - 你并没有真正直接上传到“bean”。您可以上传到 XAgent 或 Servlet。我链接到的视频显示上传到 XAgent。我可能在那里使用 SSJS 而不是我忘记的 Java。它当然可以转换为Java。但是视频应该会告诉你这个过程。

标签: java rest xpages lotus-domino


【解决方案1】:

我不确定它是否适用于向 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
    }
}

【讨论】:

  • 这对我来说效果很好。我无法接收文件处理程序,因为文件已发布在 Domino 上,因此请求正文为空。我不知道:)。
  • 很高兴知道这将适用于非 XPages html 网页。 ;-)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-15
  • 1970-01-01
  • 1970-01-01
  • 2017-03-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多