根据这个Blobstore文档介绍如何上传到Blobstore。它展示了通过JSP + Servlet方法的上传过程。
由于我的应用基于GWT,我需要适应GWT RPC(而不是JSP)。
因此,在我的应用中RPC服务实现:
public class MyServiceImpl extends RemoteServiceServlet implements
MyService {
public String getUploadUrl() {
BlobstoreService blobstoreService = BlobstoreServiceFactory.getBlobstoreService();
return blobstoreService.createUploadUrl("/upload")
}
}
这是正确的方法吗?还有其他适当的方法吗?我尚未尝试过这段代码。
上传的二进制文件大小最多为2MB。
参照Blobstore文档,了解如何通过JSP+Servlet方法上传到Blobstore。
由于我的应用程序基于GWT,我需要适应于GWT RPC(而不是JSP)。
所以在我的应用程序RPC服务实现中:
public class MyServiceImpl extends RemoteServiceServlet implements
MyService {
public String getUploadUrl() {
BlobstoreService blobstoreService = BlobstoreServiceFactory.getBlobstoreService();
return blobstoreService.createUploadUrl("/upload")
}
}
这是正确的方法吗?还是有其他更好的方式可以正确地完成它?尽管我没有尝试过这段代码。
将要上传的二进制文件大小范围从几个字节到最大2MB。
当我尝试运行这段代码时,这是服务器端的控制台日志:
May 07, 2012 6:35:53 AM com.google.appengine.tools.development.LocalResourceFileServlet doGet
WARNING: No file found for: /crossdomain.xml
然后在客户端,GWT.log()方法可以生成一个URL,但是它不能正常工作:
[INFO] [blobrpc] - Success fetch upload url: http://127.0.0.1:8888/_ah/upload/aglub19hcHBfaWRyGwsSFV9fQmxvYlVwbG9hZFNlc3Npb25fXxgDDA
gwtupload
项目包括一些针对GAE的服务器端支持,其中包括流处理:http://code.google.com/p/gwtupload/source/browse/#svn%2Ftrunk%2FGwtUpload%2Fgae%2Fsrc%2Fmain%2Fjava%2Fgwtupload%2Fserver%2Fgae - Peter Knego