我正在使用 django-uploadify-s3。它工作得很好,直到我提出:
'fileExt': r'*.sql'
在uploadify_options 中。
我的问题(我认为)是条件字段。我想我还需要将文件扩展名排除项放入我的条件字段中。但我不知道该怎么做。目前,在下面显示的 View 中,我收到了 403 错误。
显示上传表单的 View 如下所示:
@login_required
def upload_dump(req):
options = {'onComplete': 'uploadifyOnComplete',
'onError': 'uploadifyOnError',
'fileDesc': r'PostgreSQL dump files (*.sql)',
'fileExt': r'*.sql',
'buttonText': r'Select SQL dump',
}
key_pattern = 'tc-%s/${filename}' % req.user.username
post_data={'key': key_pattern, 'success_action_status': "201"}
conditions={'key': {'op': 'starts-with', 'value': 'tc-%s/' % req.user.username},
'fileExt': {'op': 'starts-with', 'value': r'sql'},
}
uploadify_options = uploadify_s3.UploadifyS3(uploadify_options=options,
post_data=post_data,
conditions=conditions).get_options_json()
return direct_to_template(req, 'users/upload_dump.html',
'uploadify_options':uploadify_options}
最佳答案
我认为您的条件变量不应包含“fileExt”键值对。 fileExt 是 Uploadify 的属性,而不是 Amazon S3 POST 过程,选项是您配置 Uploadify 小部件的方式。
条件变量是序列化到发送到 Amazon S3 的策略文件中的内容,并解释了文件上传必须遵循的规则。
如果您从条件中删除“fileExt”,那应该可以解决它。
关于django-uploadify-s3 和 HTTP 403 错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5071515/