Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用BlobInfo以编程方式恢复BlobStore中上载的blob的服务URL?_Java_Google App Engine_Blobstore - Fatal编程技术网

Java 使用BlobInfo以编程方式恢复BlobStore中上载的blob的服务URL?

Java 使用BlobInfo以编程方式恢复BlobStore中上载的blob的服务URL?,java,google-app-engine,blobstore,Java,Google App Engine,Blobstore,我想使用BlobInfo实体恢复BlobStore中上载的blob的服务URL 我的doGet()方法中的代码是: ImagesService imagesService = ImagesServiceFactory.getImagesService(); Iterator<BlobInfo> iterator = null; iterator = new BlobInfoFactory().queryBlobInfos();

我想使用BlobInfo实体恢复BlobStore中上载的blob的服务URL

我的doGet()方法中的代码是:

        ImagesService imagesService = ImagesServiceFactory.getImagesService();

        Iterator<BlobInfo> iterator = null;
        iterator = new BlobInfoFactory().queryBlobInfos();
        while (iterator.hasNext()) {
            if(iterator.next().getFilename().equals("test.png"))
            { resp.getWriter().println(iterator.next().getBlobKey()) ;//  the result is  <BlobKey: aKQyp27ZfDgvEdPE8QvMAQ>
             resp.getWriter().println(iterator.next().getFilename());//the result is test.png
            BlobKey bk=iterator.next().getBlobKey();
            String urlStr=imagesService.getServingUrl(ServingUrlOptions.Builder.withBlobKey(bk));
            resp.getWriter().println(urlStr);
            }
        }
原因:

java.util.NoSuchElementException 位于com.google.appengine.api.datastore.QueryResulteratorImpl.next(QueryResulteratorImpl.java:75) 位于com.google.appengine.api.datastore.QueryResulteratorImpl.next(QueryResulteratorImpl.java:26) 位于com.google.appengine.api.blobstore.BlobInfoFactory$1.next(BlobInfoFactory.java:108) 位于com.google.appengine.api.blobstore.BlobInfoFactory$1.next(BlobInfoFactory.java:100) 在com.EnrollementFinaleServlet.doGet上(EnrollementFinaleServlet.java:135) 位于javax.servlet.http.HttpServlet.service(HttpServlet.java:617) 位于javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 位于org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511) 位于org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166) 位于com.google.appengine.api.socket.dev.DevSocketFilter.doFilter(DevSocketFilter.java:74) 位于org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) 位于com.google.appengine.tools.development.ResponseWriterFilter.doFilter(responseWriterFilter.java:127) 位于org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) 位于com.google.appengine.tools.development.headerficationfilter.doFilter(headerficationfilter.java:34) 位于org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) 在com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter上(ServeBlobFilter.java:63) 位于org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) 位于com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43) 位于org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) 位于com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java:125) 位于org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) 在com.google.appengine.tools.development.DevAppServerModulesFilter.doDirectRequest(DevAppServerModulesFilter.java:366) 位于com.google.appengine.tools.development.DevAppServerModulesFilter.doDirectModuleRequest(DevAppServerModulesFilter.java:349) 位于com.google.appengine.tools.development.DevAppServerModulesFilter.doFilter(DevAppServerModulesFilter.java:116) 位于org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) 位于org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388) 位于org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) 位于org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182) 位于org.mortbay.jetty.handler.ContextHandler.\uu handle(ContextHandler.java:765) 位于org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java) 位于org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418) 位于com.google.appengine.tools.development.devappengineewebappcontext.handle(devappengineewebappcontext.java:98) 位于org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) 位于com.google.appengine.tools.development.JettyContainerService$ApiProxyHandler.handle(JettyContainerService.java:490) 位于org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) 位于org.mortbay.jetty.Server.handle(Server.java:326) 位于org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542) 位于org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:923) 位于org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:547) 位于org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212) 位于org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) 位于org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409) 位于org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)

由码头提供动力://


如果您能帮助我,我将不胜感激。

问题已经解决,它是由以下两行引起的:

resp.getWriter().println(iterator.next().getBlobKey());
resp.getWriter().println(iterator.next().getFilename());
resp.getWriter().println(iterator.next().getBlobKey());
resp.getWriter().println(iterator.next().getFilename());