我查过其他几条线,但还是有问题。我有一个包含filefield的模型,我正在为各种目的生成半随机实例。但是,上传文件时遇到问题。
当我创建一个新文件时,它似乎可以工作(新实例保存到数据库中),在适当的目录中创建一个文件,但该文件的内容丢失或损坏。
相关代码如下:
class UploadedFile(models.Model): document = models.FileField(upload_to=PATH) from django.core.files import File doc = UploadedFile() with open(filepath, 'wb+') as doc_file: doc.documen.save(filename, File(doc_file), save=True) doc.save()
谢谢您!
它能像打开文件一样简单吗?由于您在“wb+”中打开了文件(write、binary、append),所以句柄位于文件的末尾。尝试:
class UploadedFile(models.Model): document = models.FileField(upload_to=PATH) from django.core.files import File doc = UploadedFile() with open(filepath, 'rb') as doc_file: doc.document.save(filename, File(doc_file), save=True) doc.save()
现在它在文件开头打开。