我们正在使用Python webapp2网络服务器开发GWT Web应用程序。此时,我们希望在Web应用程序中加载和保存文件。我们无法使用Flash完成此任务。
保存
目前的方法是使用目标“_blank”使用表单上传,并设置正确的MIME以使浏览器下载文件。此解决方案有效,但由于webapp2 Web服务器不支持流式传输(因此浏览器无法在短时间内验证mime类型),因此每次都会打开一个新的浏览器窗口。有更好的解决方案,例如使用iFrame?
装载
再次使用表单上传和解析响应(JSON)。我们使用内容类型“text / html; charset = UTF-8”。此解决方案在IE9中完美运行,但在Chrome和FireFox中不起作用。似乎JSON响应在某种程度上被破坏了,或者从表单上传响应解析JSON响应时有什么?我们使用piriti进行JSON(反)序列化。
答案 0 :(得分: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
度过愉快的时光。