Tapestry fine-uploader实现?

时间:2015-01-03 23:51:28

标签: tapestry fine-uploader

这是我在Tapestry用户邮件列表中询问过的一个后续问题,以及Ray Nicholus回复的问题。最初的问题:

  

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

     

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

Ray回答的一部分:

  

我们的设置非常简单。我们注册了一个servlet来处理来自Fine Uploader的任何请求(例如传统端点的上传和删除请求,或者S3和Azure端点的签名和成功请求)...
  如果您还有其他问题,我们会监控堆栈溢出时的精细上传器标签......

完整回复位于: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吗?

2 个答案:

答案 0 :(得分:0)

回答你的问题:

  

问:您是否正在使用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>

我们将有一个实现SystemInit的{​​{1}}类。在那里,我们将实现一个ServletContextListener方法将我们的Fine Uploader请求servlet映射到这样的特定路径:

contextInitialized

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

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

答案 1 :(得分:0)

不是完整的答案,但作为旁注,它有时对于Tapestry库来说有利于将servlet作为tapestry中的过滤器运行,而不是将servlet添加到servlet容器中。这有一个额外的好处,即servlet init-params可以通过MappedConfiguration提供。 tapestry-cometdtapestry-atmosphere都可以执行此操作。

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