Загрузка непосредственно на S3

Alouani Younes спросил: 07 октября 2018 в 01:40 в: javascript

Я очень старался реализовать это руководство для моего проекта Django, но безуспешно. Я думаю, что функция, которую я использую для подписи сообщения, не работает должным образом. Это моя функция:

def sign_s3(request,*args, **kwargs):
  S3_BUCKET = getattr(settings, 'FILEMANAGER_AWS_S3_BUCKET_NAME')  file_name = request.GET.get('file_name')
  file_type = request.GET.get('file_type')  s3 = boto3.client('s3', 
                    config = S3ClientCfg(signature_version = 's3v4'),
                    aws_access_key_id=AWS_ACCESS_KEY_ID,
                    aws_secret_access_key=AWS_SECRET_ACCESS_KEY,
                    )
  # s3 = get_aws_s3_client()  presigned_post = s3.generate_presigned_post(
    Bucket = S3_BUCKET,
    Key = file_name,
    Fields = {"acl": "public-read", "Content-Type": file_type},
    Conditions = [
      {"acl": "public-read"},
      {"Content-Type": file_type}
    ],
    ExpiresIn = 3600
  )
  response_dict = {
    'data': presigned_post,
    'url': 'https://%s.s3.amazonaws.com/%s' % (S3_BUCKET, file_name)
  }
  mimetype = 'application/json'
  return HttpResponse(json.dumps(response_dict), mimetype)

На самом деле, когда я заглядываю в веб-консоль, я вижу:

Cross-Origin Request Blocked. (Reason: CORS request did not succeed)

0 ответов