Google App Engine - 带有Dispatcher Servlet的Blob商店服务

时间:2010-04-13 02:20:18

标签: java google-app-engine blob

我有一个中央调度程序servlet,其servlet映射为:

< servlet的映射>
    < servlet的名称>&调度LT; / servlet的名称>
    < URL模式> /< / url-pattern的>
  < / servlet的映射>

当我尝试使用blob商店服务的createUploadUrl(“/ uploadComplete”)时,它会映射到例如 '/ _ ah / upload / agp0d2VldG15cGljchsLEhVfX0Jsb2JVcGxvYWRTZXNzaW9uX18YEgw' 的URL。 / p>

Blob商店服务可以处理上传并重定向到/ uploadComplete之前;我的调度程序servlet被调用,因此我无法上传任何内容。

我的web.xml中是否有可以映射到 / _ ah / upload / * 的servlet /过滤器?

如何在Blob存储服务可以执行其操作之前避免调度程序servlet被调用?

3 个答案:

答案 0 :(得分:1)

您是否尝试过映射 uploadComplete servlet?
我会添加一个映射,如:

 <servlet>
  <servlet-name>UploadComplete</servlet-name>
  <servlet-class>com.Rahul.test.UploadComplete</servlet-class>
 </servlet>
 <servlet-mapping>
  <servlet-name>UploadComplete</servlet-name>
  <url-pattern>/uploadComplete</url-pattern>
 </servlet-mapping>

在映射之前

<servlet-mapping>
 <servlet-name>dispatcher</servlet-name>
 <url-pattern>/</url-pattern>
</servlet-mapping>

答案 1 :(得分:1)

App引擎保留/ _ah /下的

URL,无论您的配置是什么,都会将其定向到相应的子系统。是什么让你认为请求被发送到你的处理程序而不是blobstore?

答案 2 :(得分:0)

在进一步调查中,我已确定调用处理程序,但请求不会被重写为DevAppServer上的“/ uploadComplete”。

blob上传到blob存储区,但Blobstore服务转发的请求读取/_ah/upload/...*,就我的Web应用程序结束而言,这是一个无效的URL。

感谢您迄今为止的所有答案。