微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何将 Appengine Blobstore 与 SpringBoot 和 Thymeleaf 结合使用?

如何解决如何将 Appengine Blobstore 与 SpringBoot 和 Thymeleaf 结合使用?

我尝试在我的应用程序中使用 Appengine Blobstore 发送大文件,所以在我的控制器中我这样做是为了在我的页面 html 中使用 thymeleaf 发送 blobstoreService

private BlobstoreService blobstoreService = BlobstoreServiceFactory.getBlobstoreService();
        model.addAttribute("blobstoreService",blobstoreService);

这是我表单中发送请求的操作;

 th:action="${blobstoreService.createUploadUrl(/upload)}"

这是我的控制器来处理呼叫

@PostMapping("/upload")
        public ResponseEntity<String> uploadVideo(HttpServletRequest req,HttpServletResponse res){
  Map<String,List<BlobKey>> blobs = blobstoreService.getUploads(req);
        List<BlobKey> blobKeys = blobs.get("videoFile");
        if (blobKeys == null || blobKeys.isEmpty()) {
             res.sendRedirect("/");
          } else {
                BlobKey blobKey = new BlobKey(blobKeys.get(0).getKeyString());
                blobstoreService.serve(blobKey,res);
            }
}

我收到此错误

    ERROR 9044 --- [qtp204715855-22] o.s.b.w.servlet.support.ErrorPageFilter  : Forwarding to error page from request [/_ah/upload/aglub19hcHBfaWRyIgsSFV9fQmxvYlVwbG9hZFNlc3Npb25fXxiAgICAgIDACQw] due to exception [null]

java.lang.NullPointerException: null
    at com.google.appengine.api.blobstore.dev.UploadBlobServlet.handleUpload(UploadBlobServlet.java:432) ~[appengine-api-stubs.jar:na]
    at com.google.appengine.api.blobstore.dev.UploadBlobServlet.access$000(UploadBlobServlet.java:70) ~[appengine-api-stubs.jar:na]
    at com.google.appengine.api.blobstore.dev.UploadBlobServlet$1.run(UploadBlobServlet.java:116) ~[na:na]
    at java.security.AccessController.doPrivileged(Native Method) ~[na:1.8.0_201]
    at com.google.appengine.api.blobstore.dev.UploadBlobServlet.doPost(UploadBlobServlet.java:113) ~[appengine-api-stubs.jar:na]
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:707) ~[servlet-api-3.1.jar:3.1.0]
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) ~[servlet-api-3.1.jar:3.1.0]
    at org.eclipse.jetty.servlet.ServletHolder$NotAsync.service(ServletHolder.java:1452) ~[na:na]
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:791) ~[na:na]
    at org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1626) ~[na:na]
    at com.google.appengine.tools.development.ResponseRewriterFilter.doFilter(ResponseRewriterFilter.java:134) ~[na:na]

对此有任何想法!提前谢谢你

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?