HomeServer/Server/AllServer/GameServer/UpLoad.lua
2024-11-20 15:41:37 +08:00

51 lines
1.7 KiB
Lua

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