我正在尝试重新加密上传的文件,以使它们从“临时上传”的“文件夹”移动到“新上传”的“文件夹”。
到目前为止,这是我的尝试---我没有收到任何错误,但文件仍处于“临时上传”状态
bucket = s3.Bucket(s3_bucket)
temp_prefix = 'temp-uploads/' + packageInstance.prefix + '/'
new_prefix = 'new-uploads/' + packageInstance.prefix + '/'
for obj in bucket.objects.filter(Prefix=temp_prefix):
old_source = {'Bucket': bucket,
'Key': obj.key}
new_key = obj.key.replace(temp_prefix, new_prefix)
new_obj = bucket.Object(new_key)
new_obj.copy(old_source)
答案 0 :(得分:0)
这似乎会将实际文件从temp-uploads/
复制到new-uploads/
,因此旧文件仍然存在于旧位置。
然后,由Django上传的文件作为参考存储在FileField
中。这意味着Django从先前上传的文件生成URL。如果将文件移动到Django之外的存储桶中,则无法知道它的发生。