前端form提交文件,django收到文件:
使用data=request.FILES.get('name'),接收到一个文件对象,这是一个实例
类:django.core.files.uploadedfile.InMemoryUploadedFile
class InMemoryUploadedFile(UploadedFile):
"""
A file uploaded into memory (i.e. stream-to-memory).
"""
def __init__(self, file, field_name, name, content_type, size, charset, content_type_extra=None):
super().__init__(file, name, content_type, size, charset, content_type_extra)
self.field_name = field_name
def open(self, mode=None):
self.file.seek(0)
return self
def chunks(self, chunk_size=None):
self.file.seek(0)
yield self.read()
def multiple_chunks(self, chunk_size=None):
# Since it's in memory, we'll never have multiple chunks.
return False
实例属性:
name,文件名,str类型
content_type, 字符串,对应 HTTP Content-type
size,文件大小,int类型
实例方法:显然只有一个比较有用,chunks(),防止文件过大占用内存,将其转化为一个生成器。