-
Notifications
You must be signed in to change notification settings - Fork 3
biohub.core.files
hsfzxjy edited this page Jul 27, 2017
·
1 revision
此模块用于处理用户上传的文件。
用户上传的文件可分为三类:
- 永久储存在磁盘上并需要记录在数据库中的文件(例如实验文件,需要作为某些表的外键)
- 永久储存在磁盘上但不记录在数据库中的文件(如帖子的图片,只需用 URL 访问它)
- 临时文件,用后自动删除(如用户上传给 ABACUS 的输入文件)
此模块封装了这三类文件的接收、存储功能。
用于记录需要入库文件的表。
字段:
-
file
:FileField
,与记录相关联的文件 -
mime_type
:CharField
,文件的 MIME 类型
传入一个类文件对象,将内容转存至文件系统,返回一个二元组 (file_path, mime_type)
。其中 file_path
是相对于 settings.MEDIA_ROOT
的相对路径。
传入一个类文件对象,将内容转存至临时目录,并返回临时文件对象(一个类文件对象)。该对象一旦被关闭(.close()
),临时文件即被删除。
将 request.FILES[field_name]
中的文件转存至文件系统和数据库中,返回一个 models.File
实例。
将 request.FILES[field_name]
中的文件转存至临时目录中,返回一个临时文件对象。