Ошибка django-uploadify-s3 и HTTP 403 - PullRequest
       13

Ошибка django-uploadify-s3 и HTTP 403

4 голосов
/ 22 февраля 2011

Я использую django-uploadify-s3. Работало отлично, пока я не поставил:

'fileExt': r'*.sql'

в uploadify_options.

Моя проблема (я думаю) - это поле условий. Я думаю, что нужно добавить исключение расширения файла в поле условий. Но я не могу понять, как это сделать. На данный момент с представлением, показанным ниже, я получаю ошибку 403.

Вид, в котором отображается форма загрузки, выглядит следующим образом:

@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}

1 Ответ

0 голосов
/ 22 июня 2011

Я не думаю, что ваша переменная условия должна содержать пару ключ-значение 'fileExt'. fileExt является свойством Uploadify, а не процесса Amazon S3 POST, а параметры - это способ настройки виджета Uploadify.

Переменная условий - это то, что сериализуется в файл политики, который отправляется в Amazon S3, и объясняет, какие правила загрузки файлов должны следовать.

Если вы удалите 'fileExt' из условий, это должно исправить.

...