首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >serving blob出现404错误

serving blob出现404错误
EN

Stack Overflow用户
提问于 2012-11-11 05:58:46
回答 2查看 241关注 0票数 1

我正在尝试从我作为blobstore.BlobReferenceProperty()存储在db.Model中的blobKey中提供一个blob,但我不确定如何正确地执行此操作,因为我当前的方法给出了404。我通过使用常规self.request.get('file_field')获取'rewritten‘请求来存储blobKey值

在SDK控制台中,密钥的内容如下:

代码语言:javascript
复制
Content-Type: video/mp4
MIME-Version: 1.0
Content-Length: 475712
Content-MD5: OTY0MjY4OGI4NDgwYzVlZTI2MGJiNzg0YTA4OTIzNzY=
content-type: video/mp4
content-disposition: form-data; name="video_file"; filename="test_time.mp4"
X-AppEngine-Upload-Creation: 2012-11-10 21:41:12.973934

我的视频下载处理器是非常标准的,看起来像这样

代码语言:javascript
复制
class VideoServeHandler(blobstore_handlers.BlobstoreDownloadHandler):
  def get(self, resource):
    resource = str(urllib.unquote(resource))
    blob_info = blobstore.BlobInfo.get(resource)
    self.send_blob(blob_info)

下面是我呈现url的方式:

代码语言:javascript
复制
'/videos/%s' % time_data_instance.video_key.key()

和url映射:

代码语言:javascript
复制
('/videos/([^/]+)?', VideoServeHandler)

下面是我从控制台得到的404错误:

代码语言:javascript
复制
INFO     2012-11-10 21:54:11,371 dev_appserver.py:3092] "GET /videos/Content-Type:%20video/mp4MIME-Version:%201.0Content-Length:%20475712Content-MD5:%20OTY0MjY4OGI4NDgwYzVlZTI2MGJiNzg0YTA4OTIzNzY=content-type:%20video/mp4content-disposition:%20form-data;%20name= HTTP/1.1" 404 -

有没有人知道问题是什么,看看404中的url看起来好像是不正确的,但我找不到任何其他的方法来生成它。

更新:

下面是完整的代码

http://www.pastebucket.com/5163

EN

回答 2

Stack Overflow用户

发布于 2012-11-11 06:02:52

send_blob需要BlobKey,而不是BlobInfo。

只需将资源传递给send_blob

代码语言:javascript
复制
class VideoServeHandler(blobstore_handlers.BlobstoreDownloadHandler):
  def get(self, resource):
    resource = str(urllib.unquote(resource))
    self.send_blob(resource)
票数 0
EN

Stack Overflow用户

发布于 2012-11-13 08:02:17

问题出在您的请求字符串:

代码语言:javascript
复制
INFO     2012-11-10 21:54:11,371 dev_appserver.py:3092] "GET /videos/Content-Type:%20video/mp4MIME-Version:%201.0Content-Length:%20475712Content-MD5:%20OTY0MjY4OGI4NDgwYzVlZTI2MGJiNzg0YTA4OTIzNzY=content-type:%20video/mp4content-disposition:%20form-data;%20name= HTTP/1.1" 404 -

据我所知,你申请了/videos/Content-Type:%20video/mp4[..some garbage...],难怪你会得到404。

再次检查您是如何创建请求URL的。它看起来肯定不像这样:

代码语言:javascript
复制
'/videos/%s' % time_data_instance.video_key.key()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13326473

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档