django___文件接收

前端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(),防止文件过大占用内存,将其转化为一个生成器。

 

猜你喜欢

转载自www.cnblogs.com/yuanji2018/p/10032855.html