누구든지 이런 일이 발생 했습니까? 그것은 dev에서 일하고 배포에 실패한 것과 반대입니다.Google App EngineCode가 배포되었지만 개발자 서버가 아닌 경우 작동합니다.
내 웹 앱은 배포시에는 ImageServiceImpl.getServingUrl()을 사용하지만 dev 서버에서는 성공적으로 사용하지 않습니다.
https://developers.google.com/appengine/docs/java/config/appconfig#About_appengine_web_xml는 또한 여기 보았다 : https://developers.google.com/appengine/docs/java/images/overview#Development_Server
나는 배치 된 환경이 내 dev에 환경 구성에없는 무언가가 있다면 보려면 여기를 보였다. 나는 WebP 형식, 특별하다고, 그리고 tif 여야 디코더 플러그인을 가지고 있지 않지만, 그 이후 문제가되지 않습니다Oct 13, 2012 8:40:33 AM com.google.appengine.api.images.dev.LocalImagesService init
WARNING: No image reader found for format "ico". An ImageIO plugin must be installed to use this format with the DevAppServer.
Oct 13, 2012 8:40:33 AM com.google.appengine.api.images.dev.LocalImagesService init
WARNING: No image reader found for format "tif". An ImageIO plugin must be installed to use this format with the DevAppServer.
Oct 13, 2012 8:40:33 AM com.google.appengine.api.images.dev.LocalImagesService init
WARNING: No image reader found for format "webp". An ImageIO plugin must be installed to use this format with the DevAppServer.
Oct 13, 2012 8:40:33 AM com.google.appengine.api.images.dev.LocalImagesService init
WARNING: No image writer found for format "webp". An ImageIO plugin must be installed to use this format with the DevAppServer.
Oct 13, 2012 8:40:34 AM com.google.apphosting.utils.jetty.JettyLogger warn
WARNING: /upload
java.lang.IllegalArgumentException: Failed to read image
at com.google.appengine.api.images.ImagesServiceImpl.getServingUrl(ImagesServiceImpl.java:282)
:
는 여기에 내가 나에게 문제가주는 코드를 실행하면 내 콘솔에서 발생하는 상황 나는 jpeg 이미지만을 다루고 있습니다. 당신이 알다시피, 나는 사용자의 업로드를 수신 (대신 getUploadUrl을 사용하는 낮은 수준의 코드를 사용하고
FileService fileService = FileServiceFactory.getFileService();
AppEngineFile newBlob = fileService.createNewBlobFile("image/jpeg");
// Create a new Blob file with mime-type "image/jpeg"
byte[] buffer = new byte[4096]; // 4MB
boolean lock = true;
FileWriteChannel writeChannel = fileService.openWriteChannel(newBlob, lock);
// increase the buffer size as you are reading from the
// input stream. Read the input stream into buffer
for (int n; (n = stream.read(buffer)) != -1;){
writeChannel.write(ByteBuffer.wrap(buffer));
}
stream.close();
writeChannel.closeFinally();
BlobKey blobKey = fileService.getBlobKey(newBlob);
ImagesService imagesService = ImagesServiceFactory.getImagesService();
하나의 차이 : 여기
코드의 일부입니다. 배포에 대한 내 데이터 저장소 및 디바이스 내 데이터 저장소 내 dev에 대한 데이터 저장소에 BlobFileIndex 엔티티의 종류를 볼 수 있다는 것입니다. 는 모든 입력 주셔서 감사합니다!
그래, 1.7.2를 사용하고 있습니다. 웹 페이지 이미지 (jpeg 만)를 사용하지 않으므로 그렇게 될 수 있다고 생각하지 않습니다. 그래도 디코더 플러그인을 설치 하시겠습니까? – user1544470
자바에서 어떻게 작동하는지 모르겠습니다. 하지만 파이썬에서 이와 같은 종류의 문제가 있었고 이미지 lib (PIP)와 최신 dev 서버를 설치해야한다는 것을 알았습니다. jpeg 만 사용하기 때문에 로그 경고를 무시할 수 있습니다. 문제는 불법적 인 주장입니다. 찾았습니다 (getServingUrl illegalargumentexception) : http://stackoverflow.com/questions/6422192/create-image-serving-url-for-new-blob-file – voscausa
+1, & 행복한 1k. :) –