local skynet = require "skynet" local oo = require "Class" local log = require "Log" local pb = require "pb" local errorInfo = require "ErrorInfo" local dataType = require "DataType" local UpLoad = oo.class() UpLoad.UploadType_ActivityDecoWeek = 1 --装修主题周活动 UpLoad.UploadType_Max = 2 --上传类型最大值 function UpLoad:Init() end --礼盒展示 function UpLoad:UploadFile( player , c2sData , s2cData ) c2sData.data = assert(pb.decode("C2SUploadFile", c2sData.data )) local data = {} local uploadType = c2sData.data.uploadType local extensionName = c2sData.data.extensionName local binaryData = c2sData.data.binaryData if uploadType < self.UploadType_ActivityDecoWeek or uploadType >= self.UploadType_Max or "png" ~= extensionName then s2cData.code = errorInfo.ErrorCode.ErrRequestParam else local filePath = self:GetUploadFilePath( player , uploadType , extensionName ) skynet.server.common:WriteBinaryFileData( filePath , binaryData) end s2cData.cmd = pb.enum("MsgType","CMD_S2C_UploadFile") s2cData.data = assert(pb.encode("S2CUploadFile", data)) end --获取上传路径 function UpLoad:GetUploadFilePath( player , uploadType , extensionName ) local filePath,fileName = "","" if self.UploadType_ActivityDecoWeek == uploadType then local themeId , curStageStatus = skynet.server.decoWeek:GetCurActivityInfo() filePath = string.format("Pic/ActivityDecoWeek/%d" , themeId ) end fileName = skynet.server.common:RandID( 64 ) --生成64位随机ID filePath = string.format("%s/%s.%s" , filePath , fileName , extensionName ) return filePath end skynet.server.upLoad = UpLoad return UpLoad