Exemplo n.º 1
0
    async def post(self):
        inputdict = dict((k, v[-1]) for k, v in self.request.arguments.items())
        #文件的暂存路径
        filedb = ""
        subfilepath = ""
        if ("filedb" in inputdict.keys()):
            filedb = inputdict["filedb"].decode("utf-8")
            subfilepath = filedb + "/"
            if (not (os.path.exists(ServerParameters.filespath +
                                    subfilepath))):
                os.makedirs(ServerParameters.filespath + subfilepath)

        async with ServerParameters.pg_pool.acquire() as conn:
            if (len(self.request.files) <= 0):
                self.write(tigerfunctools.WebApiResultJson(1, "没有上传文件", None))
                return
            for fk in self.request.files:
                files = self.request.files[fk]
                for meta in files:
                    filename = meta['filename']
                    ext = os.path.splitext(filename)[-1]
                    savefilename = str(uuid.uuid4()) + ext
                    f = open(
                        ServerParameters.filespath + subfilepath +
                        savefilename, "wb")
                    f.write(meta["body"])
                    filesize = len(meta["body"])
                    f.close()

                    result = await conn.execute(
                        """insert into files 
                                        (files_filename,
                                        files_savefilename,
                                        files_saveindexfilename,
                                        files_uploadtime,
                                        files_modifytime,
                                        files_filedb,
                                        files_filesize,
                                        files_owner,
                                        files_organization) 
                                        values($1,$2,$3,$4,$5,$6,$7,$8,$9);""",
                        filename, savefilename, "", datetime.datetime.utcnow(),
                        datetime.datetime.utcnow(), filedb, filesize, "", "")
                    print(result)

            rrr = dict()
            rrr["id"] = savefilename
            rrr["filename"] = filename
            self.write(tigerfunctools.WebApiResultJson(0, "上传成功", rrr))
Exemplo n.º 2
0
    def post(self):
        inputdict = dict((k, v[-1]) for k, v in self.request.arguments.items())
        #文件的暂存路径
        filedb = "upload"
        if ("filedb" in inputdict.keys()):
            filedb = inputdict["filedb"].decode("utf-8")

        client = MotorClient(config.ServerParameters.mongodbpath)
        db = client.jt808
        filename = None
        fileid = None

        if (len(self.request.files) <= 0):
            self.write(tigerfunctools.WebApiResultJson(1, "没有上传文件", None))
            return

        uploaderror = 0

        for fk in self.request.files:
            files = self.request.files[fk]
            for meta in files:
                filename = meta['filename']
                bucket = MotorGridFSBucket(db,
                                           filedb)  #,chunk_size_bytes=32768)

                up = bucket.open_upload_stream(filename)
                if (up == None):
                    self.write(
                        tigerfunctools.WebApiResultJson(1, "写入数据库错误", None))
                    return

                fileid = up._id
                yield up.write(meta["body"])
                yield up.close()
                if (fileid == None):
                    uploaderror = uploaderror + 1

        if (uploaderror == 0):
            rrr = dict()
            rrr["id"] = str(fileid)
            rrr["filename"] = filename
            self.write(tigerfunctools.WebApiResultJson(0, "上传成功", rrr))
        else:
            self.write(
                tigerfunctools.WebApiResultJson(
                    1, "有" + str(uploaderror) + "个文件上传出错", null))
 async def post(self):
     inputdict = dict((k, v[-1].decode("utf-8"))
                      for k, v in self.request.arguments.items())
     ts = inputdict.get("typename", None)
     s = inputdict.get("itemname", None)
     if s == None:
         self.write(tigerfunctools.WebApiResultJson(1, "查询参数不对", None))
         return
 async def post(self):
     self.write(
         tigerfunctools.WebApiResultJson(
             0, "成功",
             json.dumps(dts,
                        cls=tigerfunctools.CJsonEncoder,
                        ensure_ascii=False)))
     pass
 async def post(self):
     inputdict = dict((k, v[-1].decode("utf-8"))
                      for k, v in self.request.arguments.items())
     s = inputdict.get("typename", None)
     if s == None:
         self.write(tigerfunctools.WebApiResultJson(1, "查询参数不对", None))
         return
     d = dts.get(s, None)
     d = d.dictionary
     if d == None:
         self.write(tigerfunctools.WebApiResultJson(1, "无对应字典类型", None))
         return
     self.write(
         tigerfunctools.WebApiResultJson(
             0, "成功",
             json.dumps(d,
                        cls=tigerfunctools.CJsonEncoder,
                        ensure_ascii=False)))
     return