0
突然,當我將文件上載到S3時,它正在上傳爲0字節。0將字節上傳到Django中的Amazon S3應用程序
我不知道爲什麼這是突然發生,因爲它工作得很好。這裏是我的代碼:
def store_in_s3_avatar(pathtofile, avatarimage, filename, user):
conn = S3Connection(settings.AWS_ACCESS_KEY_ID, settings.AWS_SECRET_ACCESS_KEY)
b = conn.create_bucket('mybucket')
mime = mimetypes.guess_type(filename)[0]
k = Key(b)
k.key = "/media/avatars/%s/%s" % (user,filename)
k.set_metadata("Content-Type", mime)
k.set_contents_from_string(avatarimage)
k.set_acl("public-read")
return pathtofile
下面是調用該函數的views.py片段:
if request.method == "POST":
updated = False
if 'avatar' in request.FILES:
path = avatar_file_path(user=request.user,
filename=request.FILES['avatar'].name)
avatar = Avatar(
user = request.user,
primary = True,
avatar = path,
)
new_file = avatar.avatar.storage.save(path, request.FILES['avatar'])
avatarcontent = request.FILES['avatar']
filename = request.FILES['avatar'].name
avatarimage = avatarcontent.read()
user=request.user
avatar.avatar = store_in_s3_avatar(path, avatarimage, filename, user)
avatar.save()
...
UPDATE:我通過註釋'NEW_FILE = avatar.avatar.storage.save(路徑,request.FILES [ '化身'])'固定它。有人能解釋爲什麼會導致這個問題? – user1328021