Browse Source

Z991239-825 #comment feat:upload 实体 首次编译windows版本通过

Signed-Off-By: commit-hook
刘文涛174520 5 years ago
parent
commit
6b2b9548c6

+ 43 - 0
Module/mod_upload/CMakeLists.txt

@@ -0,0 +1,43 @@
+#实体命名
+define_module("Upload")
+
+#整个实体加载的文件
+set(${MODULE_PREFIX}_SRCS
+	mod_upload.cpp
+	mod_upload.h
+	upload.cpp
+	upload.h
+	Upload_client_g.h
+	Upload_def_g.h
+	Upload_server_g.h
+	UploadFSM.cpp
+	UploadFSM.h
+	XZip.cpp
+	XZip.h
+	ZipZilb.cpp
+	ZipZilb.h
+	)
+
+#设置版本
+set(MOD_VERSION_STRING "1.0.0-dev1")
+add_module_libraries(${MODULE_PREFIX} ${MODULE_NAME} ${MOD_VERSION_STRING})
+#附加包含的目录
+
+conan_cmake_run(REQUIRES zlib/1.2.11@LR04.02_ThirdParty/testing
+BASIC_SETUP CMAKE_TARGETS
+BUILD missing)
+
+target_include_directories(${MODULE_NAME} PRIVATE
+	${RVC_FRAMEWORK_INCLUDES_DIR}
+	${CONAN_INCLUDE_DIRS_ZLIB}
+)
+
+# 添加实体需要依赖的其他共享库(包括系统库):连接器包含的包
+target_link_directories(${MODULE_NAME} PRIVATE
+	${CONAN_LIB_DIRS_ZLIB}
+)
+set(${MODULE_PREFIX}_LIBS ${MODULE_BASE_ALL_LIBS} ${CONAN_PKG_LIBS_ZLIB}  )
+
+target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})  
+
+deploy_module(${MODULE_PREFIX} ${MODULE_NAME})

+ 3 - 1
Module/mod_upload/UploadFSM.h

@@ -1,4 +1,5 @@
-#pragma once
+#ifndef RVC_MOD_UPLOAD_UPLOADFSM_H_
+#define RVC_MOD_UPLOAD_UPLOADFSM_H_
 
 #include "SpBase.h"
 #include "SpFSM.h"
@@ -350,3 +351,4 @@ protected:
 private:
 	UploadFSM *m_pFSM;
 };
+#endif // RVC_MOD_UPLOAD_UPLOADFSM_H_

+ 141 - 0
Module/mod_upload/ZipZilb.cpp

@@ -0,0 +1,141 @@
+#include "ZipZilb.h"
+#include "libtoolkit/path.h"
+
+
+bool CreateZipFromFile(string srcFileName, string zipFileName)
+{
+	if (srcFileName.empty() || srcFileName.length() == 0 ||
+		zipFileName.empty() || zipFileName.length() == 0) {
+		Dbg("压缩文件参数为空:");
+		return false;
+	}
+	int pos = srcFileName.find_last_of(SPLIT_SLASH);
+
+/*
+#ifdef RVC_OS_WIN
+	int pos = srcFileName.find_last_of('\\');
+#else
+	int pos = srcFileName.find_last_of('/');
+#endif 
+*/
+
+	if (pos < 0) {
+		Dbg("文件路径不对:%s",srcFileName.c_str());
+		return false;
+	}
+	string strName(srcFileName.substr(pos + 1));
+
+
+	zipFile newZipFile = zipOpen(zipFileName.c_str(), APPEND_STATUS_CREATE); //创建zip文件
+	if (newZipFile == NULL)
+	{
+		Dbg("无法创建zip文件!");
+		return false;
+	}
+	//
+	//压缩文件
+	if (AddFileToZip(newZipFile, strName.c_str(), srcFileName.c_str()) != 0)
+	{
+		Dbg("压缩文件失败");
+		zipClose(newZipFile, NULL); 
+		if (remove(zipFileName.c_str()) != 0) {
+			Dbg("删除临时压缩文件失败");
+		}
+		return false;
+	}
+	//释放文件
+	zipClose(newZipFile, NULL); 
+	Dbg("文件压缩成功: %s", zipFileName.c_str());
+	return true;
+	
+}
+
+bool AddFileToZip(zipFile zf, const char* fileNameInZip, const char* srcFile)
+{
+	FILE* srcfp = NULL;
+
+	//初始化写入zip的文件信息
+	zip_fileinfo zi;
+	zi.tmz_date.tm_sec = zi.tmz_date.tm_min = zi.tmz_date.tm_hour =
+		zi.tmz_date.tm_mday = zi.tmz_date.tm_mon = zi.tmz_date.tm_year = 0;
+	zi.dosDate = 0;
+	zi.internal_fa = 0;
+	zi.external_fa = 0;
+
+	//如果srcFile为空,加入空目录
+	char new_file_name[256];
+	memset(new_file_name, 0, sizeof(new_file_name));
+	strcat(new_file_name, fileNameInZip);
+	if (srcFile == NULL)
+	{
+		strcat(new_file_name, "/");
+	}
+
+	//在zip文件中创建新文件或文件夹
+	int ret = zipOpenNewFileInZip(zf, new_file_name, &zi, NULL, 0, NULL, 0, NULL, Z_DEFLATED, Z_DEFAULT_COMPRESSION);
+
+	if (ret != ZIP_OK)
+	{
+		if (srcFile != NULL) {
+			Dbg("在zip文件中创建新文件失败: %s", srcFile);
+		}
+		else {
+			Dbg("在zip文件中创建新目录失败: %s", new_file_name);
+		}
+
+		return false;
+	}
+
+
+	if (srcFile != NULL)
+	{
+		//打开源文件
+		srcfp = fopen(srcFile, "rb+");
+		if (srcfp == NULL)
+		{
+			Dbg("打开要往zip压缩的文件失败: %s", srcFile);
+			zipCloseFileInZip(zf); //关闭zip中的新文件
+			return false;
+		}
+		int fileLen = (int)GetFileLen(srcfp);
+		//读入源文件并写入zip文件
+		char buf[16 * 1024]; 
+		int numBytes = 0;
+		int sumWrite = 0;
+		while (!feof(srcfp) && !ferror(srcfp))
+		{
+			numBytes = fread(buf, 1, sizeof(buf), srcfp);
+			int ret = zipWriteInFileInZip(zf, buf, numBytes);
+			if (ret != ZIP_OK) {
+				Dbg("文件写入zip压缩包失败1: %s", srcFile);
+				fclose(srcfp);
+				zipCloseFileInZip(zf);
+				return false;//写文件失败
+			}
+			sumWrite += numBytes;
+		}
+		//和原文件长度是否相同
+		if (sumWrite != fileLen) {
+			Dbg("文件写入zip压缩包失败,总长度不一致: %s", srcFile);
+			fclose(srcfp);
+			zipCloseFileInZip(zf);
+			return false;//写文件失败
+		}
+		//关闭源文件
+		fclose(srcfp);
+	}
+
+	//关闭zip文件
+	zipCloseFileInZip(zf);
+	return true;
+	
+}
+
+long GetFileLen(FILE* _file)
+{
+	long curPosit = ftell(_file), fileLen;
+	fseek(_file, 0, SEEK_END);
+	fileLen = ftell(_file);
+	fseek(_file, curPosit, SEEK_SET);
+	return fileLen;
+}

+ 31 - 0
Module/mod_upload/ZipZilb.h

@@ -0,0 +1,31 @@
+#ifndef RVC_MOD_UPLOAD_ZIP_H_
+#define RVC_MOD_UPLOAD_ZIP_H_
+
+
+#include "SpBase.h"
+
+#ifdef _WIN32
+
+#define ZLIB_WINAPI //win32 必须使用的宏
+
+#endif // win32
+
+
+
+#include "zip.h"
+#include "unzip.h"
+#include <iostream>
+#include <stdio.h>
+#include <io.h>
+#include <direct.h>
+
+using namespace std;
+
+bool CreateZipFromFile(string srcFileName, string zipFileName);
+
+bool AddFileToZip(zipFile zf, const char* fileNameInZip, const char* srcFile);
+
+//获取文件长度 完成
+long GetFileLen(FILE* _file);
+
+#endif //RVC_MOD_UPLOAD_ZIP_H_

+ 1 - 115
Module/mod_upload/mod_upload.cpp

@@ -1,120 +1,6 @@
-#include "stdafx.h"
-#include "SpBase.h"
-#include "SpIni.h"
+#include "mod_upload.h"
 
-#include "UploadFSM.h"
-#include "Upload_server_g.h"
 
-using namespace Upload;
-
-class CUploadEntity;
-
-class UploadSession : public UploadService_ServerSessionBase
-{
-public:
-	UploadSession(CUploadEntity *pEntity) : m_pEntity(pEntity) {}
-	virtual ~UploadSession() {}
-
-	virtual void Handle_UploadProgess(SpReqAnsContext<UploadService_UploadProgess_Req, UploadService_UploadProgess_Ans>::Pointer ctx);
-	virtual void Handle_UploadNumber(SpReqAnsContext<UploadService_UploadNumber_Req, UploadService_UploadNumber_Ans>::Pointer ctx);
-	virtual void Handle_UploadDateList(SpReqAnsContext<UploadService_UploadDateList_Req, UploadService_UploadDateList_Ans>::Pointer ctx);
-	virtual void Handle_ClearUploadDate(SpReqAnsContext<UploadService_ClearUploadDate_Req, UploadService_ClearUploadDate_Ans>::Pointer ctx);
-
-private:
-	CUploadEntity *m_pEntity;
-};
-
-class CUploadEntity : public CEntityBase
-{
-public:
-	CUploadEntity() {}
-	virtual ~CUploadEntity() {}
-	virtual const char *GetEntityName() const { return "Upload"; }
-	virtual bool IsService()const { return true; }
-
-	virtual void OnPreStart(CAutoArray<CSimpleStringA> strArgs,CSmartPointer<ITransactionContext> pTransactionContext) 
-	{
-		ErrorCodeEnum Error = Error_Succeed;
-
-		//MessageBoxA(0,0,0,0);
-		Error = m_fsm.Init(this);
-
-		pTransactionContext->SendAnswer(Error);
-	}
-
-	virtual void OnSelfTest(EntityTestEnum eTestType,CSmartPointer<ITransactionContext> pTransactionContext) 
-	{ 
-		if (Test_ShakeHand == eTestType)
-		{
-			pTransactionContext->SendAnswer(Error_Succeed); 
-		}
-	}
-	virtual void OnPreClose(EntityCloseCauseEnum eCloseCause,CSmartPointer<ITransactionContext> pTransactionContext) 
-	{ 
-		pTransactionContext->SendAnswer(Error_Succeed); 
-	}
-	// 实体服务化
-	virtual CServerSessionBase* OnNewSession(const char*, const char*)
-	{
-		return new UploadSession(this);
-	}
-
-	//查询当前上传进度
-	ErrorCodeEnum UploadProgess(SpReqAnsContext<UploadService_UploadProgess_Req, UploadService_UploadProgess_Ans>::Pointer ctx)
-	{
-		ErrorCodeEnum  ret = Error_Succeed;
-		UploadProgress progress;
-
-		m_fsm.getUploadProgress(progress);
-		ctx->Ans.uploadState=progress.uploadState;
-		ctx->Ans.uploadNumber=progress.uploadNumber;
-		ctx->Ans.elapseTime=CSimpleStringA2W(progress.elapseTime);
-		Dbg("UploadProgess: state %d uploadNumber %d elapseTime %s",progress.uploadState,progress.uploadNumber,progress.elapseTime.GetData());
-		return ret;
-	}
-	//查询剩余待上传的文件个数
-	ErrorCodeEnum UploadNumber(SpReqAnsContext<UploadService_UploadNumber_Req, UploadService_UploadNumber_Ans>::Pointer ctx)
-	{
-		ErrorCodeEnum  ret = Error_Succeed;
-		Dbg("UploadNumber req silentTime is %d",ctx->Req.silentTime);
-		int fileNum = m_fsm.getCheckDirFile(ctx->Req.silentTime);
-		Dbg("UploadNumber is %d",fileNum);
-		ctx->Ans.uploadNumber=fileNum;
-		return ret;
-	}
-
-	//查询上传日期列表
-	ErrorCodeEnum UploadDateList(SpReqAnsContext<UploadService_UploadDateList_Req, UploadService_UploadDateList_Ans>::Pointer ctx)
-	{
-		ErrorCodeEnum  ret = Error_Succeed;
-		
-		CAutoArray<CSimpleStringA> str;
-		ret = m_fsm.getUploadDate(str);
-		if(ret==Error_Succeed){
-			ctx->Ans.uploadDateStr=str;
-		}
-		return ret;
-	}
-
-	//清空上传日期列表
-	ErrorCodeEnum ClearUploadDate(SpReqAnsContext<UploadService_ClearUploadDate_Req, UploadService_ClearUploadDate_Ans>::Pointer ctx)
-	{
-		ErrorCodeEnum  ret = Error_Succeed;
-		bool bret = m_fsm.clearUploadDate();
-		if(bret){
-			ctx->Ans.isOK=true;
-		}else{
-			ctx->Ans.isOK=false;
-		}
-		return ret;
-	}
-
-
-
-
-private:
-	UploadFSM m_fsm;
-};
 
 void UploadSession::Handle_UploadProgess(SpReqAnsContext<UploadService_UploadProgess_Req, UploadService_UploadProgess_Ans>::Pointer ctx)
 {

+ 133 - 0
Module/mod_upload/mod_upload.h

@@ -0,0 +1,133 @@
+#ifndef RVC_MOD_UPLOAD_H_
+#define RVC_MOD_UPLOAD_H_
+
+#include "stdafx.h"
+#include "SpBase.h"
+#include "SpIni.h"
+
+#include "SpTest.h"
+#include "modVer.h"
+
+#include "UploadFSM.h"
+#include "Upload_server_g.h"
+
+using namespace Upload;
+
+class CUploadEntity;
+
+class UploadSession : public UploadService_ServerSessionBase
+{
+public:
+	UploadSession(CUploadEntity* pEntity) : m_pEntity(pEntity) {}
+	virtual ~UploadSession() {}
+
+	virtual void Handle_UploadProgess(SpReqAnsContext<UploadService_UploadProgess_Req, UploadService_UploadProgess_Ans>::Pointer ctx);
+	virtual void Handle_UploadNumber(SpReqAnsContext<UploadService_UploadNumber_Req, UploadService_UploadNumber_Ans>::Pointer ctx);
+	virtual void Handle_UploadDateList(SpReqAnsContext<UploadService_UploadDateList_Req, UploadService_UploadDateList_Ans>::Pointer ctx);
+	virtual void Handle_ClearUploadDate(SpReqAnsContext<UploadService_ClearUploadDate_Req, UploadService_ClearUploadDate_Ans>::Pointer ctx);
+
+private:
+	CUploadEntity* m_pEntity;
+};
+
+class CUploadEntity : public CEntityBase
+{
+public:
+	CUploadEntity() {}
+	virtual ~CUploadEntity() {}
+	virtual const char* GetEntityName() const { return "Upload"; }
+	virtual bool IsService()const { return true; }
+	const char* GetEntityVersion() const override
+	{
+		return MODULE_VERSION_FULL;
+	}
+
+	ON_ENTITYT_TEST()
+
+	virtual void OnPreStart(CAutoArray<CSimpleStringA> strArgs, CSmartPointer<ITransactionContext> pTransactionContext)
+	{
+		ErrorCodeEnum Error = Error_Succeed;
+
+		//MessageBoxA(0,0,0,0);
+		Error = m_fsm.Init(this);
+
+		pTransactionContext->SendAnswer(Error);
+	}
+
+	virtual void OnSelfTest(EntityTestEnum eTestType, CSmartPointer<ITransactionContext> pTransactionContext)
+	{
+		if (Test_ShakeHand == eTestType)
+		{
+			pTransactionContext->SendAnswer(Error_Succeed);
+		}
+	}
+	virtual void OnPreClose(EntityCloseCauseEnum eCloseCause, CSmartPointer<ITransactionContext> pTransactionContext)
+	{
+		pTransactionContext->SendAnswer(Error_Succeed);
+	}
+	// 实体服务化
+	virtual CServerSessionBase* OnNewSession(const char*, const char*)
+	{
+		return new UploadSession(this);
+	}
+
+	//查询当前上传进度
+	ErrorCodeEnum UploadProgess(SpReqAnsContext<UploadService_UploadProgess_Req, UploadService_UploadProgess_Ans>::Pointer ctx)
+	{
+		ErrorCodeEnum  ret = Error_Succeed;
+		UploadProgress progress;
+
+		m_fsm.getUploadProgress(progress);
+		ctx->Ans.uploadState = progress.uploadState;
+		ctx->Ans.uploadNumber = progress.uploadNumber;
+		ctx->Ans.elapseTime = CSimpleStringA2W(progress.elapseTime);
+		Dbg("UploadProgess: state %d uploadNumber %d elapseTime %s", progress.uploadState, progress.uploadNumber, progress.elapseTime.GetData());
+		return ret;
+	}
+	//查询剩余待上传的文件个数
+	ErrorCodeEnum UploadNumber(SpReqAnsContext<UploadService_UploadNumber_Req, UploadService_UploadNumber_Ans>::Pointer ctx)
+	{
+		ErrorCodeEnum  ret = Error_Succeed;
+		Dbg("UploadNumber req silentTime is %d", ctx->Req.silentTime);
+		int fileNum = m_fsm.getCheckDirFile(ctx->Req.silentTime);
+		Dbg("UploadNumber is %d", fileNum);
+		ctx->Ans.uploadNumber = fileNum;
+		return ret;
+	}
+
+	//查询上传日期列表
+	ErrorCodeEnum UploadDateList(SpReqAnsContext<UploadService_UploadDateList_Req, UploadService_UploadDateList_Ans>::Pointer ctx)
+	{
+		ErrorCodeEnum  ret = Error_Succeed;
+
+		CAutoArray<CSimpleStringA> str;
+		ret = m_fsm.getUploadDate(str);
+		if (ret == Error_Succeed) {
+			ctx->Ans.uploadDateStr = str;
+		}
+		return ret;
+	}
+
+	//清空上传日期列表
+	ErrorCodeEnum ClearUploadDate(SpReqAnsContext<UploadService_ClearUploadDate_Req, UploadService_ClearUploadDate_Ans>::Pointer ctx)
+	{
+		ErrorCodeEnum  ret = Error_Succeed;
+		bool bret = m_fsm.clearUploadDate();
+		if (bret) {
+			ctx->Ans.isOK = true;
+		}
+		else {
+			ctx->Ans.isOK = false;
+		}
+		return ret;
+	}
+
+
+
+
+private:
+	UploadFSM m_fsm;
+};
+
+
+#endif

+ 0 - 106
Module/mod_upload/mod_upload.vcxproj

@@ -1,106 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{63B7850C-E93D-4CC0-81A7-368C36A7F674}</ProjectGuid>
-    <Keyword>Win32Proj</Keyword>
-    <RootNamespace>mod_upload</RootNamespace>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-    <UseDebugLibraries>true</UseDebugLibraries>
-    <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>Windows7.1SDK</PlatformToolset>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-    <UseDebugLibraries>false</UseDebugLibraries>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-  </ImportGroup>
-  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <Import Project="..\modmake.setting" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <ClCompile>
-      <PrecompiledHeader>Use</PrecompiledHeader>
-      <WarningLevel>Level3</WarningLevel>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;MOD_UPLOAD_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <AdditionalIncludeDirectories>$(FrameworkHeadRoot)\Common;$(FrameworkHeadRoot)\libtoolkit</AdditionalIncludeDirectories>
-    </ClCompile>
-    <Link>
-      <SubSystem>Windows</SubSystem>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <AdditionalDependencies>$(FrameworkLib)\spbase.lib;$(FrameworkLib)\RVCComm.lib;$(FrameworkLib)\libtoolkit.lib</AdditionalDependencies>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <ClCompile>
-    	<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>    
-      <WarningLevel>Level3</WarningLevel>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <Optimization>MaxSpeed</Optimization>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <IntrinsicFunctions>true</IntrinsicFunctions>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;MOD_UPLOAD_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <AdditionalIncludeDirectories>$(FrameworkHeadRoot)\Common;$(FrameworkHeadRoot)\libtoolkit</AdditionalIncludeDirectories>
-    </ClCompile>
-    <Link>
-      <SubSystem>Windows</SubSystem>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <OptimizeReferences>true</OptimizeReferences>
-      <AdditionalDependencies>$(FrameworkLib)\spbase.lib;$(FrameworkLib)\RVCComm.lib;$(FrameworkLib)\libtoolkit.lib</AdditionalDependencies>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClInclude Include="$(FrameworkHeadRoot)\Common\stdafx.h" />
-    <ClInclude Include="upload.h" />
-    <ClInclude Include="UploadFSM.h" />
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="$(FrameworkHeadRoot)\Common\stdafx.cpp">
-      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
-      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
-    </ClCompile>
-    <ClCompile Include="mod_upload.cpp" />
-    <ClCompile Include="upload.cpp" />
-    <ClCompile Include="UploadFSM.cpp" />
-    <ClCompile Include="XZip.cpp">
-      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">NotUsing</PrecompiledHeader>
-      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">NotUsing</PrecompiledHeader>
-    </ClCompile>
-  </ItemGroup>
-  <ItemGroup>
-    <ResourceCompile Include="..\..\Version.rc" />
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>

+ 0 - 45
Module/mod_upload/mod_upload.vcxproj.filters

@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup>
-    <Filter Include="Source Files">
-      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
-      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
-    </Filter>
-    <Filter Include="Header Files">
-      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
-      <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
-    </Filter>
-    <Filter Include="Resource Files">
-      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
-      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
-    </Filter>
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="upload.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="UploadFSM.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\Framework\Include\Common\stdafx.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="mod_upload.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="upload.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="UploadFSM.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\Framework\Include\Common\stdafx.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="XZip.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-  </ItemGroup>
-</Project>

+ 5 - 1
Module/mod_upload/upload.cpp

@@ -2,14 +2,18 @@
 #include "SpBase.h"
 #include "SpIni.h"
 #include "upload.h"
+
 #include <memutil.h>
 #include <fileutil.h>
 #include <array.h>
 #include "XZip.h"
 #include <tchar.h>
- #include <string>
+#include <string>
 #include "sstream"
 
+#include "ZipZilb.h"
+#include "stdio.h"
+
 using namespace std;
 //»ñÈ¡Îļþ¼Ðʵ¼Ê·¾¶
 static ErrorCodeEnum expand_dir(IEntityFunction *pEntityFunc, const char *str, CSimpleStringA &out)

+ 5 - 2
Module/mod_upload/upload.h

@@ -1,4 +1,5 @@
-#pragma once
+#ifndef RVC_MOD_UPLOAD_UPLOAD_H_
+#define RVC_MOD_UPLOAD_UPLOAD_H_
 
 #include <list.h>
 
@@ -40,4 +41,6 @@ int upload_fresh(struct list_head *list);
 bool ZipData(LPCTSTR lpszZipArchive, LPCTSTR lpszSrcFile);
 //Ôö¼Ólwt
 int check_dir_fresh(const char *path,int limitation,int silentTime,int &fileSumlen);
-void updir_del_file(file_t *file);
+void updir_del_file(file_t *file);
+
+#endif // RVC_MOD_UPLOAD_UPLOAD_H_