附件上传函数:file()
    2019-08-30
  
描述

  file() 将文件上传到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).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).file('product', True)

  以上实例运行后输出的结果为:   
{'state': 'FAILURE', 'msg': ''}  # 失败时返回 msg 错误消息
# 成功时返回url/新的文件-名/文件大小M/文件类型后缀
{{'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)  # 创建实例
# 子目录及文件名中可用变量:{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': ''}

适应版本

  v1.0.1
凯格游戏

成语小小乐

数字迷宫大师

兔兔小画家

灵动拼图

兔兔聪明屋