我已经阅读了很多答案,并在shell中尝试了所有这些,但不想正确保存本地图像,他会截断文件。当图像大小为400kb时,他在媒体目录中创建大小为10-30kb的文件。我不知道为什么。例如,我有路径d:/1.png的图像。我试过了
from django.core.files import File
fileObject=File(open("d:/1.png"))
object.image.save('1.png',fileObject,True)
fileObject.size显示正确的图像大小,但是object.image.size是不正确的文件,他保存的内容不完整。 我也试过
from django.core.files.temp import NamedTemporaryFile
temp = NamedTemporaryFile()#with delete=True TypeError: __init__() got an unexpected keywork argument 'delete'
temp.write(open('d:/1.png').read())
temp.flush()
f=File(temp)#f.size not correct
object.image.save('1.png',f,True)
and object.image.size and file not correct, file not full.
我尝试使用StringIO,但这也行不通。我不知道是什么尝试正确保存这些图像。 请帮忙。
答案 0 :(得分:1)
你必须将模式改为二进制
fileObject = File(open(“d:/1.png”,mode =“rb”))