Пример #1
0
 def Base64(params={}):
     # 参数
     param = Util.ArrayMerge(
         {
             'path': 'upload/',  #上传目录
             'base64': '',  #文件内容
             'filename': '',  #文件名
             'ext': 'png',  #后缀
         },
         params)
     # 内容
     base64 = param['base64']
     # 否有类型
     ct = Util.Explode(',', param['base64'])
     if len(ct) > 1:
         param['ext'] = Base64.GetExt(ct[0])
         base64 = ct[1]
     # 创建目录
     FileEo.Root = Env.root_dir
     if not FileEo.Mkdir(param['path']):
         print('[Upload] Mkdir:', '创建目录失败!')
         return ''
     # 文件名
     filename = Upload.GetFileName(
     ) + '.' + param['ext'] if not param['filename'] else param['filename']
     if not FileEo.Writer(param['path'] + filename, Base64.Decode(base64)):
         print('[Upload] Writer:', '保存文件失败!')
         return ''
     return filename
Пример #2
0
 def File(file, params={}):
     # 参数
     param = Util.ArrayMerge(
         {
             'path':
             'upload/',  #上传目录
             'filename':
             '',  #文件名
             'bind': [
                 'svg', 'jpg', 'jpeg', 'png', 'gif', 'mov', 'mp4', 'wav',
                 'mp3'
             ],  #允许格式
         },
         params)
     # 限制格式
     ext = FileEo.GetExt(file.filename)
     if param['bind']:
         if ext not in param['bind']:
             print('只支持%s格式!' % (','.join(param['bind'])))
             return ''
     # 是否重命名
     param['filename'] = file.filename if not param[
         'filename'] else param['filename'] + '.' + ext
     # 创建目录
     FileEo.Root = Env.root_dir
     if not FileEo.Mkdir(param['path']):
         print('[Upload] Mkdir:', '创建目录失败!')
         return ''
     # 保存文件
     if not FileEo.Upload(file, param['path'] + param['filename']):
         print('[Upload] Upload:', '保存文件失败!')
         return ''
     return param['filename']
Пример #3
0
 def HtmlImgClear(html: str, dir: str):
     # 全部图片
     imgs = Upload.GetHtmlFile(html)
     # 清理图片
     FileEo.Root = Env.root_dir
     all = FileEo.AllFile(dir)
     for val in all:
         if val not in imgs: FileEo.RemoveAll(dir + val)
     return True
Пример #4
0
 def Upimg(self):
     # 验证
     token = self.Post('token')
     msg = AdminToken.Verify(token, request.path)
     if msg != '': return self.GetJSON({'code': 4001, 'msg': msg})
     # 参数
     name = self.Post('name')
     base64 = self.Post('base64')
     if not base64: return self.GetJSON({'code': 4000, 'msg': '参数错误!'})
     # 类型
     if name != 'logo' and name != 'login_bg':
         return self.GetJSON({'code': 4000, 'msg': '类型错误!'})
     # 上传
     img = Upload.Base64({'path': self.ImgDir, 'base64': base64})
     if not img: return self.GetJSON({'code': 5000, 'msg': '上传失败!'})
     # 数据
     m = SysConfigM()
     m.Columns('val')
     m.Where('name=%s', name)
     imgData = m.FindFirst()
     m.Set({'val': self.ImgDir + img})
     m.Where('name=%s', name)
     if not m.Update(): return self.GetJSON({'code': 5000, 'msg': '上传失败!'})
     # 清理
     rmImg = imgData['val']
     FileEo.RemoveAll(rmImg)
     # 返回
     return self.GetJSON({
         'code': 0,
         'msg': '成功',
         'img': Data.Img(self.ImgDir + img)
     })
Пример #5
0
 def Upimg(self):
     # 验证
     token = self.Post('token')
     msg = AdminToken.Verify(token, request.path)
     if msg != '': return self.GetJSON({'code': 4001, 'msg': msg})
     tData = AdminToken.Token(token)
     # 参数
     base64 = self.Post('base64')
     if not base64: return self.GetJSON({'code': 4000, 'msg': '参数错误!'})
     # 上传
     img = Upload.Base64({'path': self.ImgDir, 'base64': base64})
     if not img: return self.GetJSON({'code': 5000, 'msg': '上传失败!'})
     # 数据
     model = UserInfoM()
     model.Columns('img')
     model.Where('uid=%s', tData['uid'])
     imgData = model.FindFirst()
     model.Set({'img': self.ImgDir + img})
     model.Where('uid=%s', tData['uid'])
     if not model.Update():
         return self.GetJSON({'code': 5000, 'msg': '上传失败!'})
     # 清理
     rmImg = imgData['img']
     FileEo.RemoveAll(rmImg)
     # 返回
     return self.GetJSON({
         'code': 0,
         'msg': '成功',
         'img': Data.Img(self.ImgDir + img)
     })
Пример #6
0
 def Qrcode(self, name: str):
     text: str = ''
     if name == 'docs': text = 'https://webmis.vip/'
     elif name == 'demo': text = 'https://demo-app.webmis.vip/'
     elif name == 'wechat':
         text = 'http://weixin.qq.com/r/mC1YQK3EDPBzrekj93iK'
     elif name == 'server1':
         text = 'https://u.wechat.com/MNFMyg4xN7d6ihWrfoWD7So'
     elif name == 'server2':
         text = 'https://u.wechat.com/MC35ApmM-JB7K6cJD6CaYJo'
     # 创建目录
     path = 'upload/qrcode/'
     FileEo.Root = Env.root_dir
     if not FileEo.Mkdir(path): return
     # 是否生成
     file = path + name + '.png'
     if not FileEo.IsFile():
         ct = Qrcode.Create({'text': text})
         FileEo.Writer(file, ct)
     # 返回
     return send_file(Env.root_dir + file, mimetype='image/png')
Пример #7
0
 def Down(self):
     # 验证
     token = self.Post('token')
     msg = AdminToken.Verify(token, request.path)
     if msg != '': return self.GetJSON({'code': 4001, 'msg': msg})
     # 参数
     path = self.Post('path')
     filename = self.Post('filename')
     if not path or not filename:
         return self.GetJSON({'code': 4000, 'msg': '参数错误!'})
     # 返回
     FileEo.Root = Env.root_dir + self.__dirRoot
     return FileEo.Bytes(path + filename)
Пример #8
0
 def Mkdir(self):
     # 验证
     token = self.Post('token')
     msg = AdminToken.Verify(token, request.path)
     if msg != '': return self.GetJSON({'code': 4001, 'msg': msg})
     # 参数
     path = self.Post('path')
     name = self.Post('name')
     if not path or not name:
         return self.GetJSON({'code': 4000, 'msg': '参数错误!'})
     # 数据
     FileEo.Root = Env.root_dir + self.__dirRoot
     if not FileEo.Mkdir(path + name):
         return self.GetJSON({'code': 5000, 'msg': '新建文件夹失败!'})
     # 返回
     return self.GetJSON({'code': 0, 'msg': '成功'})
Пример #9
0
 def Remove(self):
     # 验证
     token = self.Post('token')
     msg = AdminToken.Verify(token, request.path)
     if msg != '': return self.GetJSON({'code': 4001, 'msg': msg})
     # 参数
     path = self.Post('path')
     data = self.Post('data')
     if not path or not data:
         return self.GetJSON({'code': 4000, 'msg': '参数错误!'})
     # 数据
     FileEo.Root = Env.root_dir + self.__dirRoot
     files = Util.JsonDecode(data)
     for val in files:
         FileEo.RemoveAll(path + val)
     # 返回
     return self.GetJSON({'code': 0, 'msg': '成功'})
Пример #10
0
 def List(self):
     # 验证
     token = self.Post('token')
     msg = AdminToken.Verify(token, request.path)
     if msg != '': return self.GetJSON({'code': 4001, 'msg': msg})
     # 参数
     path = self.Post('path')
     if not path: return self.GetJSON({'code': 4000, 'msg': '参数错误!'})
     # 数据
     FileEo.Root = Env.root_dir + self.__dirRoot
     list = FileEo.List(path)
     # 返回
     return self.GetJSON({
         'code': 0,
         'msg': '成功',
         'url': Env.base_url + self.__dirRoot,
         'data': list
     })