Exemple #1
0
def attach_file_internal(report, file_ext, mime_type):
    object_name = f'{str(report.id)}/{str(uuid.uuid1())}.{file_ext}'

    signed_request = create_signed_request_boto3(
        mime_type, object_name, settings.AWS_STORAGE_BUCKET_NAME)

    attachment = Attachment(report=report)
    attachment.attachment.name = object_name
    attachment.save()

    return signed_request
Exemple #2
0
def attach_file_internal(report, file_ext, mime_type, extra_comma=False):
    object_name = '%s/%s.%s' % (str(report.id), str(uuid.uuid1()), file_ext)

    signed_request = create_signed_request(mime_type, object_name,
                                           settings.AWS_STORAGE_BUCKET_NAME,
                                           extra_comma)

    attachment = Attachment(report=report)
    attachment.attachment.name = object_name
    attachment.save()

    return signed_request
def attach_file(request):
    device_id = request.GET['device_id']
    report_id = request.GET['report_id']

    report = Report.objects.get(pk=report_id)

    if report.client != device_id:
        return HttpResponseForbidden("Device_id mismatch")

    attachment = Attachment(attachment=request.FILES['file'], report=report)
    file_name, file_extension = os.path.splitext(attachment.attachment.name)
    attachment.attachment.name = str(uuid.uuid1()) + file_extension
    attachment.save()

    return JsonResponse({'id': attachment.id})
Exemple #4
0
def attach_file(request):
    device_id = request.GET['device_id']
    report_id = request.GET['report_id']

    report = Report.objects.get(pk=report_id)

    if report.client != device_id:
        return HttpResponseForbidden("Device_id mismatch")

    attachment = Attachment(attachment=request.FILES['file'], report=report)
    file_name, file_extension = os.path.splitext(attachment.attachment.name)
    attachment.attachment.name = str(uuid.uuid1()) + file_extension
    attachment.save()

    return JsonResponse({'id': attachment.id})
def attach_file_internal(report, file_ext, mime_type):
    object_name = '%s/%s.%s' % (str(report.id), str(uuid.uuid1()), file_ext)

    expires = int(time.time()+60*60*24)
    amz_headers = "x-amz-acl:public-read"

    string_to_sign = "PUT\n\n%s\n%d\n%s\n/%s/%s" % \
                     (mime_type, expires, amz_headers,
                      settings.AWS_STORAGE_BUCKET_NAME, object_name)

    signature = base64.encodestring(
        hmac.new(settings.AWS_SECRET_ACCESS_KEY.encode(),
                 string_to_sign.encode('utf8'), sha1).digest())
    signature = urllib.quote_plus(signature.strip())
    url = 'https://%s.s3.amazonaws.com/%s' % (settings.AWS_STORAGE_BUCKET_NAME,
                                              object_name)
    signed_request = '%s?AWSAccessKeyId=%s&Expires=%s&Signature=%s' % \
        (url, settings.AWS_ACCESS_KEY_ID, expires, signature),

    attachment = Attachment(report=report)
    attachment.attachment.name = object_name
    attachment.save()

    return signed_request