Guarde la imagen mediante programación en Django ImageField 2

He leído muchas respuestas y probé todo esto en el shell, pero no quiero guardar mi imagen local correctamente, trunca los archivos. Cuando el tamaño de la imagen es de 400 kb, crea un archivo en el directorio de medios con un tamaño de 10-30 kb. no sé por qué Por ejemplo, tengo una imagen con la ruta d:/1.png. Lo intenté

from django.core.files import File
fileObject=File(open("d:/1.png"))
object.image.save('1.png',fileObject,True)

fileObject.size muestra el tamaño correcto de la imagen, pero object.image.size no es correcto y el archivo, lo que guarda no está lleno. También lo intenté

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.

Intenté usar StringIO, pero esto tampoco funcionó. No sé qué intenta guardar estas imágenes correctamente. Por favor ayuda.

preguntado el 01 de julio de 12 a las 05:07

1 Respuestas

tienes que cambiar el modo a binario

objetoarchivo=Archivo(abrir("d:/1.png", modo="rb"))

Respondido 12 Oct 12, 22:10

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.