file() 將文件上傳到upload下的的指定目錄。
以下是 file() 的語(yǔ)法:
file(dir='article', image=False)
● dir [str]:文件保存目錄名,位于 /upload/ 目錄下的一個(gè)目錄名,不會(huì)自動(dòng)創(chuàng)建。
● image [bool]:是否為圖片文件,True是,F(xiàn)alse不是。
返回一個(gè)字典。
以下展示了使用 file() 的簡(jiǎn)單實(shí)例:
from kyger.upload import Upload file = self.kg['post'].get('filename', {'data': ''}) # 獲取文件數(shù)據(jù),filename為表單的name屬性值 # 會(huì)在/upload/product目錄新建一個(gè)年月格式的文件夾:'{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': ''}) # 獲取文件數(shù)據(jù),filename為表單的name屬性值 # 會(huì)在/upload/product目錄新建一個(gè)年月格式的文件夾:'{yy}{mm}',然后將文件命名為:' {yy}{mm}{dd}{hh}{ii}{ss}{rand}'加后綴名的格式。 return Upload(file, self.db, self.kg).file('product', True)
以上實(shí)例運(yùn)行后輸出的結(jié)果為:
{'state': 'FAILURE', 'msg': ''} # 失敗時(shí)返回 msg 錯(cuò)誤消息 # 成功時(shí)返回url/新的文件-名/文件大{'state': 'SUCCESS', 'url': '/upload/article/201909/20190902161609374.zip','filename': '20190902161609374.zip', 'size': 0.1, 'type': '.zip', 'loginid': ''}
{'state': 'FAILURE', 'msg': ''} # 失敗時(shí)返回 msg 錯(cuò)誤消息 # 成功時(shí)返回url/新的文件-名/文件大小M/文件類型后綴 {'state': 'SUCCESS', 'url': '/upload/article/201909/20190902161852291.png', 'filename': '20190902161852291.png', 'size': 0.02, 'type': '.png', 'loginid': ''}以下展示了使用 file() 的詳細(xì)實(shí)例:
file = self.kg['post'].get('file', '') # 獲取文件數(shù)據(jù) from kyger.upload import Upload up = Upload(file, self.db, self.kg) # 創(chuàng)建實(shí)例 # 子目錄及文件名中可用變量:{y}:兩位年 {yy}:四位年 {mm}:兩位月 {dd}:兩位日 {hh}:兩位小時(shí) {ii}:兩位分鐘 {ss}:兩位秒 {time}:時(shí)間戳 {rand}:三位隨機(jī)數(shù) up.path = 'file/{yy}{mm}' # 文件存放路徑 up.filename = '{y}{mm}{dd}{hh}{ii}{ss}' # 文件命名規(guī)則 up.exist_rename = True # 文件名存在是否自動(dòng)重命名。命名規(guī)則:*(1).* up.upload_log = True # 開(kāi)啟日志 up.image('up_file') # 上傳到upload/up_file
以上實(shí)例運(yùn)行后輸出的結(jié)果為:
{'state': 'FAILURE', 'msg': ''} # 失敗時(shí)返回 msg 錯(cuò)誤消息 # 成功時(shí)返回url/新的文件-名/文件大小M/文件類型后綴{{'state': 'SUCCESS', 'url': '/upload/up_file/file/201909/190902161609.zip', 'filename': '190902161609.zip', 'size': 0.1, 'type': '.zip', 'loginid': ''}