51 lines
1.7 KiB
Lua
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
|