如何从django中的请求压缩文件,并发送到亚马逊S3?

时间:2016-06-09 10:32:23

标签: django amazon-s3 zipfile

我从表单中收到一个txt文件,该表单将请求发布到django。我想压缩txt文件并将其上传到视图函数中的s3。

def s3(request):
    in_memory = io.BytesIO() 
    zip = zipfile.ZipFile(in_memory, "a", zipfile.ZIP_DEFLATED)
    zip.writestr("file.txt", request.FILES["filename"].read())
    os.environ['S3_USE_SIGV4'] = 'True'
    conn = S3Connection('xxx', 'xxx', host="s3-us-west-1.amazonaws.com")
    bucket = conn.get_bucket('name')
    k = Key(bucket)
    k.key = "test.txt.zip"
    k.set_contents_from_file(io.BytesIO(zip.read(name='file.txt')))

问题是保存的文件是22kb并且没有实际的文本文件(12mb)

0 个答案:

没有答案