我设法获取下面的代码段,以便在开发服务器中成功运行,将图片重新调整为300x300像素,作为网络请求的一部分。
但是,我似乎无法在单元测试中运行它们。
byte[] data = loadMyData();
OutputSettings format = new OutputSettings(ImagesService.OutputEncoding.JPEG);
Image resized = getImagesService().applyTransform(makeResize(300, 300, 0, 0), data, format);
上面的代码在单元测试中引发了这个异常:
java.lang.IllegalArgumentException: Failed to read image
at com.google.appengine.api.images.ImagesServiceImpl.convertApplicationException(ImagesServiceImpl.java:333)
at com.google.appengine.api.images.ImagesServiceImpl.applyTransform(ImagesServiceImpl.java:86)
at com.google.appengine.api.images.ImagesServiceImpl.applyTransform(ImagesServiceImpl.java:63)
将“LocalImagesServiceTestConfig”添加到LocalServiceTestHelper没有任何区别。
希望有人可以确认我们是否可以实际使用getImagesService()在(Java)单元测试中调整图像大小。
答案 0 :(得分:0)
我可能在这里遗漏了一些东西,但你不能仅仅使用get_serving_url
来调整大小吗?它可用于Java imagesService.getServingUrl(blob)
http://code.google.com/appengine/docs/java/javadoc/com/google/appengine/api/images/ImagesService.html#getServingUrl%28com.google.appengine.api.blobstore.BlobKey,%20int,%20boolean%29
问候,
尼古拉斯