我正在使用 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/

10-11 06:47