【发布时间】:2014-05-27 01:38:50
【问题描述】:
我正在尝试为用 Python 编码的 GCE 应用程序创建一个 blobstore 上传过程。
我没有使用 blobstore_handlers 进程的 web 应用程序。
以这种方式上传 Blob 的流程是什么?
我已经实现了创建上传 URL 端点:
from google.appengine.ext import blobstore
def blobstore_get_upload_url(self, request):
upload_url = blobstore.create_upload_url('/upload')
return self.construct_valid_response(StatusResponse, upload_url)
返回的URL不是APP上的有效路由:
http://127.0.0.1:8080/_ah/upload/ag1kZXZc3RyaW5nLWltciILEhVfX0Jsb2JVcGxvYWRTZXNzaW9uX18YgICAgICAgAsM
当我尝试 POST 到此 URL 时,我收到此错误:
The url "/api" does not match any handlers.
我的 app.yaml:
handlers:
# Endpoints handler
- url: /_ah/spi/.*
script: app_api.APPLICATION
我的问题:
是否需要在端点应用程序之外创建一个单独的脚本才能将 blob 上传到?或者有没有办法将上传 URL 定向到另一个端点方法来处理上传过程?
当我尝试在应用程序上指定另一个端点作为上传 URL 时,它会被忽略。
前:
upload_url = blobstore.create_upload_url('/api#p/Api/v1/api.app.blobstore_upload')
请注意,我已从上述 URL 中删除了应用名称并将其替换为 API,但我使用的 URL 是应用中的有效 URL。
我看到旧的文件进程已被弃用并替换为谷歌云存储进程。这是我应该前进的方向吗?
【问题讨论】:
标签: ios google-app-engine google-cloud-endpoints blobstore