Tag: blobstore

停止Blob URL过期

我正在将图像上传到blob商店。 我从这里复制了这个例子。 我遇到的唯一问题是:如果我用表单加载页面,而不是立即提交图像。 URL可能会过期,当我尝试加载图像时,我会收到一个错误页面。 如何检查URL是否已过期并刷新URL而用户不知道?

ImagesService.getServingUrl的URL持续多长时间

我正在使用App Engine中的blobstore和imagesService。 我想知道我从imagesService.getServingUrl(blobKey)获得的URL会持续多长时间。 如果我使用它来存储用户个人资料图片,我可以将此URL存储在用户中,还是应该存储BlobKey并在每次需要图片时获取servingUrl?

如何使用Google App Engine Blobstore压缩图像

我们有一个应用程序服务于blobstore的一系列图像。 这里有一个例子: http://lh4.ggpht.com/f76xUkRZLRkb_Qz5uu82TX3LoBRh4eYb9hxYwMRMLCk5ghO_OL0DW2v4rRnkewUyDWfBuBttgbUvuJJXwtFQosEB=s0 这是一个巨大的png,因此下载量为536K。 如果我们将其调整为400,它仍然很大(263k): http://lh4.ggpht.com/f76xUkRZLRkb_Qz5uu82TX3LoBRh4eYb9hxYwMRMLCk5ghO_OL0DW2v4rRnkewUyDWfBuBttgbUvuJJXwtFQosEB=s400 我们如何以某种更好的压缩方式请求或存储图片? 我们的应用程序有一个移动客户端,等待273K使它变得非常慢。

Google App Engine使用Blobkey

您好,我正在尝试制作一个servlet,允许管理员上传图像和任何谷歌用户查看这些图像,到目前为止,我正在解决https://developers.google.com/appengine/docs/java/blobstore上提供的程序/概述 当我上传一张图片时,它会使用很长的blobKey直接提供它吗? 并将其自身的副本存储在local_db.bin中 我无法找到的是,是否有任何方法可以缩短使用的blobkeys? 例如,我想有一个画廊,显示用户上传的所有图像,但到目前为止,我可以从数据库中获取图像的唯一方法是调用这样的东西 res.sendRedirect(“/ serve?blob-key =”+ blobKey.getKeyString()) 但这只适用于一个图像,我需要硬编码每个新的blobKey,以便在一个单独的页面上显示它,也意味着当用户上传新图像时,我将不得不编辑代码并为新的添加新链接图片? 基本上我想知道的是,无论如何都可以轻松定义存储在local_db.bin中的每个blob。 任何帮助将不胜感激,请不要犹豫,询问更多细节。 谢谢

将servlet架构转换为app-engine端点架构

以下转换是否适用于从Java servlet转换为Google app-engine云端点? 从 public void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { … } 至 @ApiMethod(name = “save_blob_key”, path = “save_blob_key” httpMethod = HttpMethod.POST) public void saveBlobKey(HttpServletRequest req) throws IOException { … } 背景: 我正在尝试使用端点来处理blobstore回调。 参考: https : //developers.google.com/appengine/docs/java/blobstore/overview#Complete_Sample_App 问题: 这里的大抱怨是以下两行似乎需要类HttpServletRequest ,我不知道是否可以将它传递给端点。 BlobstoreService blobstoreService = BlobstoreServiceFactory.getBlobstoreService(); Map<String, List> blobs = blobstoreService.getUploads(req); 编辑: 我一直在尝试很多路线来解决这个问题。 […]

使用java以编程方式将图像上传到Google App引擎blobstore

我已经在谷歌应用引擎页面上看过“将文件写入Blobstore(实验性)”。 这就是我所拥有的: // Get a file service FileService fileService = FileServiceFactory.getFileService(); // Create a new Blob file with mime-type “text/plain” AppEngineFile file = fileService.createNewBlobFile(“text/plain”); // Open a channel to write to it boolean lock = false; FileWriteChannel writeChannel = fileService.openWriteChannel(file, lock); // Different standard Java ways of writing to the channel // are possible. Here […]

Google App Engine中blobstore对象的1MB配额限制?

我正在使用App Engine(版本1.4.3)直接编写blobstore以保存图像。 当我尝试存储大于1MB的图像时,我得到以下exception com.google.apphosting.api.ApiProxy$RequestTooLargeException: The request to API call datastore_v3.Put() was too large. 我认为每个对象的限制是2GB 这是存储图像的Java代码 private void putInBlobStore(final String mimeType, final byte[] data) throws IOException { final FileService fileService = FileServiceFactory.getFileService(); final AppEngineFile file = fileService.createNewBlobFile(mimeType); final FileWriteChannel writeChannel = fileService.openWriteChannel(file, true); writeChannel.write(ByteBuffer.wrap(data)); writeChannel.closeFinally(); }