1

几天后,我设法让基于浏览器的上传到 S3 在 Django 1.5 和 uploadify 上工作得很好。该代码在运行 Django 服务器的开发中运行良好。部署到我的 Webfaction 服务器后,我现在收到以下错误。

/upload/11/done 'NoneType' 对象的 AttributeError 没有属性 'group'

该错误是由我认为处理来自 S3 的响应的 unquote_plus 行引起的

post_response = request.POST['upload_data']
location_rexp = '<Location>(.*)</Location>'
content.file_url = unquote_plus(re.search(location_rexp, post_response).group(1))

我假设 reg ex 失败了,因为它是 NoneType。这可能是由于发布响应 [uploaded_data] 中似乎缺少数据造成的 - 仅在生产服务器上。见下文。

我不确定如何进行。我错过了编码吗?

[Django development server]
POST:
file_obj[size] = u'2647'
file_obj[id] = u'SWFUpload_0_0'
file_obj[filestatus] = u'-4'
file_obj[name] = u'Orange.gif'
file_obj[creationdate] = u'Sat Feb 09 2013 11:57:55 GMT+1100 (EST)'
upload_data = u'<?xml version="1.0" encoding="UTF-8"?>\n<PostResponse><Location>http://ash.mlsvideo.s3.amazonaws.com/assnow%2F1%2Fvideos%2FOrange.gif</Location><Bucket>ash.mlsvideo</Bucket><Key>assnow/1/videos/Orange.gif</Key><ETag>"2e133a52ef02d2a58b9f2640f9bdf65d"</ETag></PostResponse>'
file_obj[type] = u'.gif'
s3_response = u'true'


[Webfaction server]
POST:
file_obj[size] = u'1947'
file_obj[id] = u'SWFUpload_0_1'
file_obj[filestatus] = u'-4'
file_obj[name] = u'Strawberry.gif'
file_obj[creationdate] = u'Sat Feb 09 2013 11:57:55 GMT+1100 (EST)'
upload_data = u'CWS\t\xea`'
file_obj[type] = u'.gif'
s3_response = u'true'
4

0 回答 0