我正在尝试实现一个非常基本的功能,将图像从 Android、iPhone 和网络客户端上传到谷歌应用引擎。感谢这个博客,我做了一个初始版本的实现:
然而,上传图像似乎总是有一个两步过程:
- 使用 createUploadUrl() 获取要 POST 的初始上传 URL。我附上了我使用的代码片段:
公共类 CreateUploadUrl 扩展 HttpServlet {
@覆盖
public void doGet(HttpServletRequest req, HttpServletResponse resp) 抛出 IOException {
BlobstoreService blobstoreService = BlobstoreServiceFactory.getBlobstoreService();
String uploadURL = blobstoreService.createUploadUrl("/image/uploadImage");
resp.setContentType("text/plain");
resp.getWriter().println(uploadURL);
}
}
- 使用您刚刚“获得”的 URL 发布图像
公共无效doPost(HttpServletRequest req,HttpServletResponse res)抛出ServletException,IOException {
BlobKey blobKey = ParameterExtractor.getBlobParameter(req, "blob-key", blobstoreService);
如果(blobKey == null){
log.info("blob ID 为空。POST 失败");
} 别的 {
log.info("ze 业务逻辑");
}
}
我的问题是是否可以一步完成,因为现在所有客户端都需要执行 http GET 来获取上传 URL,然后执行 http POST 来发布图像。
不可能只用预定义的 URL 做一个 Http POST。
谢谢拉贾特