0

我们正在开发一个带有 Python webapp2 网络服务器的 GWT 网络应用程序。此时,我们要在 Web 应用程序中加载和保存文件。我们不能使用 Flash 来完成这项任务。

保存

当前的方法是使用目标“_blank”的表单上传并设置正确的 MIME 以使浏览器下载文件。此解决方案有效,但由于 webapp2 网络服务器不支持流式传输(因此浏览器无法在短时间内验证 mime 类型),因此每次都会打开一个新的浏览器窗口。有没有更好的解决方案,例如使用 iFrames?

正在加载

再次使用表单上传和解析响应 (JSON)。我们使用内容类型“text/html; charset=UTF-8”。此解决方案在 IE9 中完美运行,但在 Chrome 和 FireFox 中不起作用。似乎 JSON 响应以某种方式被破坏,或者在从表单上传响应解析 JSON 响应时有什么问题?我们使用 piriti 进行 JSON(反)序列化。

4

1 回答 1

0

对于加载,您可以使用RestyGWT库,它具有将 Java 对象编码或解码为 JSON 的能力:

import javax.ws.rs.POST;
...
public interface PizzaOrderCodec extends JsonEncoderDecoder<PizzaOrder> {
}

// GWT will implement the interface for you
PizzaOrderCodec codec = GWT.create(PizzaOrderCodec.class);

// Encoding an object to json
PizzaOrder order = ... 
JSONValue json = codec.encode(order);

// decoding an object to from json
PizzaOrder other = codec.decode(json);

为了保存,如果您必须使用文件上传发送 JSON 文件,您可以查看以下链接: http ://www.jroller.com/hasant/entry/fileupload_with_gwt

http://www.celinio.net/techblog/?p=1207

玩得开心。

于 2012-12-18T10:45:50.723 回答