123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- #!/usr/bin/env python
- # -*- coding: utf-8 -*-
- """
- demeter web page
- name:upload.py
- author:rabin
- """
- from __load__ import *
- from datetime import *
- import os
- import uuid
- class index_path(Load):
- """
- @api {post} /upload 上传图片
- @apiVersion 1.0.0
- @apiName upload
- @apiGroup Common
- @apiParam {String} file 文件流名称
- @apiSuccess {Bool} status 状态
- @apiSuccess {String} msg 描述
- @apiSuccess {Number} code 状态码
- @apiSuccess {Object[]} data 返回数据
- @apiSuccess {String} data.src 图片地址
- @apiErrorExample 操作成功
- {"status": 1, "msg": "操作成功", "code": 0, "data": {"src":"url"}}
- @apiErrorExample 操作失败
- {"status": 2, "msg": "\u64cd\u4f5c\u5931\u8d25", "code": 0, "data": {}}
- """
- @auth
- def post(self, *args, **kwargs):
- url = self.request.protocol + "://" + self.request.host
- file_metas = self.request.files["file"]
- # print(file_metas)
- day = str(date.today())
- day = day.split('-')
- for meta in file_metas:
- #meta['filename']
- file_name = str(uuid.uuid5(uuid.uuid1(), 'file'))
- file_path = day[0] + '/' + day[1] + '/' + day[2]
- file_path = File.mkdirs(os.path.join(Demeter.path, 'runtime','upload', file_path)) + '/' + Demeter.md5(file_name) + '.jpg'
- with open(file_path, 'wb') as up:
- up.write(meta['body'])
- self.out('yes', {'src':url + file_path.replace(Demeter.path + 'runtime', '')})
|