我有这样的JSON请求:
object: { "fields":{ "src" : "http://dss.com/a.jpg", "data" : " //file is here" } }
class FileMy(models.Model):
f = models.FileField(upload_to='file_path/',)
如何保存文件?
答案 0 :(得分:0)
您可以使用urllib读取文件,然后将其添加到模型中。
答案 1 :(得分:0)
您可以将数据包装在继承自File的ContentFile中,然后将save文件直接包装到模型中。
from __future__ import unicode_literals
from django.core.files.base import ContentFile
from .models import FileMy
f1 = ContentFile("esta sentencia está en español")
f2 = ContentFile(b"these are bytes")
m1 = FileMy()
m2 = FileMy()
m1.f.save("filename", f1, save=True)
m2.f.save("filename", f2, save=True)
答案 2 :(得分:0)
首先对json请求体中的原始数据进行编码。
from tempfile import NamedTemporaryFile
from django.core.files import File
def save_file_to_field(field, file_name, raw_content):
# field: reference to the model object instance field
img_temp = NamedTemporaryFile(delete=True)
img_temp.write(raw_content)
field.save(
file_name,
File(img_temp)
)
img_temp.flush()
这是做什么的: