2009-07-08 71 views
5

我正在研究在Google App Engine上编写Java Web应用程序。我希望能够从应用中上传和提供图片,但只是意识到数据存储具有1MB的限制。这对于体面的照片来说太少了。有没有其他方法可以建议您这样做?也许将它们存储为静态内容而不是存储在数据存储区中,但似乎没有API。在Java App Engine上使用Java存储上传的图像

回答

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); 
2

您无法写入App Engine中的文件系统,因此静态内容暂时不存在 - 但用于存储和提供Blob的API位于路线图中。同时,最好的办法是将文件拆分成数据块,并将数据存储在数据存储中,或使用S3等外部服务。

相关问题