我正在考虑在Google App Engine上编写Java Web应用程序。我希望能够从应用程序上传和提供图像,但只是意识到数据存储区有1MB的限制。这对于体面的照片来说有点太少了。有没有其他方法可以建议你这样做?也许将它们存储为静态内容而不是数据存储区,但似乎没有API。
答案 0 :(得分:4)
现在可以在GAE上使用。您只需将文件存储在Blobstore中即可。您可以像这样上传文件:
<body>
<form action="<%= blobstoreService.createUploadUrl("/upload") %>" method="post" enctype="multipart/form-data">
<input type="file" name="myFile">
<input type="submit" value="Submit">
</form>
然后从servlet提供文件:
public void doGet(HttpServletRequest req, HttpServletResponse res)
throws IOException {
BlobKey blobKey = new BlobKey(req.getParameter("blob-key"));
blobstoreService.serve(blobKey, res);
答案 1 :(得分:2)
您无法写入App Engine中的文件系统,因此静态内容暂时不存在 - 但是路线图中存储了用于存储和提供blob的API。与此同时,您最好的办法是将文件拆分为块,并将其存储在数据存储区中,或者使用S3等外部服务。
答案 2 :(得分:1)
今天没有简单的方法,但这可以在以后改变。
您现在可以做的最好的事情就是在其问题跟踪器中投票(加星标)添加Google文件系统支持的请求:
答案 3 :(得分:0)
现在,Google App引擎提供的图像API与Blobstore API不同。这是改进的,特别适用于图像。你可以试试。