GWT - 从 FormPanel 上传文件后返回对象?

Posted

技术标签:

【中文标题】GWT - 从 FormPanel 上传文件后返回对象?【英文标题】:GWT - Return object after file upload from FormPanel? 【发布时间】:2010-08-19 17:50:14 【问题描述】:

我正在使用 FileUpload 和 FormPanel 上传文件,在服务器上我使用上传文件中的数据生成一个列表。 问题是我需要在客户端显示这个列表,但是我找不到在普通 HttpServlet 中使用 GWT 的序列化来序列化它的方法。仅在无法处理 FormPanel 请求的 RemoteServiceServlets 中。

另外,从 SubmitCompleteEvent 中获取对象后,我什至不知道如何反序列化客户端上的对象。

【问题讨论】:

【参考方案1】:

我在我工作的公司为此开发了一个自定义解决方案。它使用来自gwt-upload project 的一些代码。我所做的背后的想法是:

用于上传的帮助 servlet 通过发布请求接收文件 通过获取请求提供最近上传的文件下载(参数包括 ID) 用于管理任务的文件服务 获取文件上传到 servlet 的唯一 ID 询问上传状态如何(百分比、错误、取消、ok) 要求“下载网址”(基本上检查文件是否存在并提供servletURL+id)

我已经声明了静态处理临时上传文件的结构。这样,它对于 servlet 和 GWT 控制器是全局可见的。如果您不喜欢它,您还可以在上下文侦听器中进行一些初始化,并将对全局文件上传系统的引用存储在应用程序上下文中。这样,GWT Service 实现和 servelt 实现无论如何都可以访问它。

【讨论】:

【参考方案2】:

我建议不要尝试使用 GWT-RPC 序列化,而是使用 JSON 序列化服务器上​​的列表。

【讨论】:

以上是关于GWT - 从 FormPanel 上传文件后返回对象?的主要内容,如果未能解决你的问题,请参考以下文章

GWT:如何从多部分表单(文件)上传返回(和处理)错误

在 GWT 中将文件和 HashMap 发送到服务器

如何使用 fileUpload 在 GWT 中将文件从客户端传输到服务器

在 GWT 的客户端读取文件

GWT 上传/下载最佳实践

是否可以通过 GWT RPC Servlet 上传文件?