【问题标题】:Tapestry fine-uploader implementation?Tapestry 精细上传器的实现?
【发布时间】:2015-01-03 23:51:27
【问题描述】:

这是我在 Tapestry 用户邮件列表中提出的问题的后续问题,Ray Nicholus 对此进行了回复。原问题:

是否有人有使用 FineUploader 5 处理上传的 Tapestry 实现?

Taha 的实现 (tawus.wordpress.com/2011/06/25/ajax-upload-for-tapestry/) 看起来很棒,但它不适合 5.0 版的 blob 及其 RESTful 倾向。

雷的部分回答:

我们的设置相当简单。我们注册一个 servlet 来处理来自 Fine Uploader 的任何请求(例如传统端点的上传和删除请求或 S3 和 Azure 端点的签名和成功请求)...
如果您还有任何问题,我们会在堆栈溢出时监控 Fine-uploader 标记...

完整的回复在这里:http://apache-tapestry-mailing-list-archives.1045711.n5.nabble.com/FineUploader-implementation-tt5729640.html

这是很好的信息,雷。我也想做同样的事情。
问:您是否使用来自 github.com/FineUploader/server-examples/tree/master/java 的 UploadReceiver.java?
问:你能和我们分享你的 web.xml 吗?

【问题讨论】:

    标签: tapestry fine-uploader


    【解决方案1】:

    回答您的问题:

    问:您是否使用来自 github.com/FineUploader/server-examples/tree/master/java 的 UploadReceiver.java?

    这是基于 Java 的端点处理程序的起点。我的任何集成 Fine Uploader 的项目都可能有类似的代码。也就是说,一个处理请求的类,一个解释所有请求的类,第三个专门解析多部分编码请求的类,这是 Fine Uploader 默认为文件上传发送的。所有这些类都用于传统端点。如果您使用 Fine Uploader S3 直接上传到 S3,那么 s3/S3Uploads 类会简单一些,因为上传请求会直接发送到 S3。

    问:你能和我们分享你的 web.xml 吗?

    在我的任何集成 Fine Uploader 的 Tapestry 项目中使用的 web.xml 都没有什么特别之处。我们确实在 web.xml 中注册了一个ServletContextListener,其中包括将 servlet 类映射到相对路径。

    例如,对于 web.xml 中的这个条目:

    <listener>
        <listener-class>com.mydomain.SystemInit</listener-class>
    </listener>
    

    我们将有一个实现ServletContextListenerSystemInit 类。在那里,我们将实现一个contextInitialized 方法来将我们的 Fine Uploader 请求 servlet 映射到一个特定的路径,如下所示:

    @Override
    public void contextInitialized(ServletContextEvent sce)
    {
        ServletContext context = sce.getServletContext();
        context.addServlet("FineUploaderReceiver", FineUploaderReceiver.class).addMapping("/uploads/*");
    }
    

    因此,任何发送到上述路径的请求都会命中该类。在设置客户端 Fine Uploader 选项时请记住这一点。

    在这个 servlet/receiver 中,我们将检查路径的末尾以确定我们正在处理的 Fine Uploader 请求的类型。

    【讨论】:

      【解决方案2】:

      不是一个完整的答案,但作为一个附注,tapestry 库有时将 servlet 作为tapestry 中的过滤器运行而不是向 servlet 容器添加 servlet 是有益的。这有一个额外的好处,servlet init-params 可以通过 MappedConfiguration 贡献。 tapestry-cometdtapestry-atmosphere 都这样做。

      以下文件演示了 AtmosphereServlet 如何在 Tapestry 中运行:

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-02-22
        • 1970-01-01
        相关资源
        最近更新 更多