0file() 将文件上传到upload下的的指定目录。
以下是 file() 的语法:
file(dir='article', image=False)
● dir [str]:文件保存目录名,位于 /upload/ 目录下的一个目录名,不会自动创建。
● image [bool]:是否为图片文件,True是,False不是。
返回一个字典。
以下展示了使用 file() 的简单实例:
from kyger.upload import Upload
file = self.kg['post'].get('filename', {'data': ''})
# 获取文件数据,filename为表单的name属性值
# 会在/upload/product目录新建一个年月格式的文件夹:'{yy}{mm}',然后将文件命名为:
'{yy}{mm}{dd}{hh}{ii}{ss}{rand}'加后缀名的格式。
return Upload(file, self.db, self.kg).file('product') # 保存到/upload/product目录from kyger.upload import Upload
file = self.kg['post'].get('filename', {'data': ''})
# 获取文件数据,filename为表单的name属性值
# 会在/upload/product目录新建一个年月格式的文件夹:'{yy}{mm}',然后将文件命名为:'
{yy}{mm}{dd}{hh}{ii}{ss}{rand}'加后缀名的格式。
return Upload(file, self.db, self.kg).file('product', True)以上实例运行后输出的结果为:
{'state': 'FAILURE', 'msg': ''} # 失败时返回 msg 错误消息
# 成功时返回url/新的文件-名/文件大{'state': 'SUCCESS', 'url': '/upload/article/201909/20190902161609374.zip','filename': '20190902161609374.zip', 'size': 0.1, 'type': '.zip', 'loginid': ''}{'state': 'FAILURE', 'msg': ''} # 失败时返回 msg 错误消息
# 成功时返回url/新的文件-名/文件大小M/文件类型后缀
{'state': 'SUCCESS', 'url': '/upload/article/201909/20190902161852291.png',
'filename': '20190902161852291.png', 'size': 0.02, 'type': '.png', 'loginid': ''}以下展示了使用 file() 的详细实例:file = self.kg['post'].get('file', '') # 获取文件数据
from kyger.upload import Upload
up = Upload(file, self.db, self.kg) # 创建实例
# 子目录及文件名中可用变量:{y}:两位年 {yy}:四位年 {mm}:两位月 {dd}:两位日
{hh}:两位小时 {ii}:两位分钟 {ss}:两位秒 {time}:时间戳 {rand}:三位随机数
up.path = 'file/{yy}{mm}' # 文件存放路径
up.filename = '{y}{mm}{dd}{hh}{ii}{ss}' # 文件命名规则
up.exist_rename = True # 文件名存在是否自动重命名。命名规则:*(1).*
up.upload_log = True # 开启日志
up.image('up_file') # 上传到upload/up_file以上实例运行后输出的结果为:
{'state': 'FAILURE', 'msg': ''} # 失败时返回 msg 错误消息
# 成功时返回url/新的文件-名/文件大小M/文件类型后缀{{'state': 'SUCCESS', 'url':
'/upload/up_file/file/201909/190902161609.zip',
'filename': '190902161609.zip', 'size': 0.1, 'type': '.zip', 'loginid': ''}