2012-09-12 33 views
1

所以我使用GAE和创建一个会话坚持一些JSP和servlet之间的一些数据。问题是当我访问Blobstore服务来上传文件时,会话被终止并且用户被注销。GAE:上传到Blob存储服务杀死会议

这是引起该问题的形式属性: 行动= “<%= blobstoreService.createUploadUrl( ”/上传“)%>” 方法= “POST” ENCTYPE = “多部分/格式数据”

+0

这应该工作。如果我在JSP中保存会话中的某些内容,我可以在上传处理程序中检索它。 –

+0

这是可以工作的最小示例:http://pastebin.com/RDFaqcgc –

+0

只是想补充说有些情况下它可以工作。这对我来说不可复制。有时会议仍然活着,但有时它已经死了。奇怪的。 – Franz

回答

0

对于任何人在未来的看着这,似乎这个问题仅在本地开发服务器工作时部署应用程序后会发生。

我,而我的本地开发服务器上测试过相同的问题。将文件上传到GAE Blobstore将用户登出并将会话搞乱。在我部署了我的应用程序之后,一切工作都完全在线希望我在花费数小时试图找出如何解决问题之前先尝试过。

1

看来会话正在基于blobstoreService.createUploadUrl(“/ test”)在开发环境中更改域而被终止。如果我使用我的开发计算机IP地址进行测试,会话将被销毁,因为回拨URL会导致计算机名:端口/测试而不是ipaddress:port/test。如果我在URL中使用computername来最初提交表单,会话保持不变,dev很高兴。

0

如果你使用Eclipse进行开发,可以将每个JSP中之前部署验证。如果您先清除所有错误,则编译错误将消失。我对开发环境没有抱怨的错误感到惊讶,但却阻止了部署。