艺萌TCP文件传输及自动更新系统介绍(TCP文件传输)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了艺萌TCP文件传输及自动更新系统介绍(TCP文件传输)相关的知识,希望对你有一定的参考价值。
演示程序下载地址:http://pan.baidu.com/s/1geVfmcr
文件上传的思路
1、服务器端
服务器端配置文件中,会指定一个目录,客户端上传的所有文件都保存在此目录中。
但是客户端传来的文件,并不是直接保存在此目录中,而是现在此目录中创建一个子文件夹,然后保存在子文件夹中。
那么服务器端接收文件,需要知道子文件夹的名称,这个名称是客户端上传文件时,相关参数中包含的。
以本程序为例,服务器端指定了保存文件的目录是D盘。那么所有的上传的文件都会保存在D盘中。
客户端
客户端上传文件A.rar 并告诉服务器端A.rar保存在 20161201这个文件夹中。
服务器端会在D盘创建一个20161201为名称的子文件夹,然后把 A.rar保存在此文件夹中。
客户端的代码会大致如此:
//获取要上传的文件的本地地址 string filePath = GetFileToOpen("上传文件"); //新建一个文件ID string fileID = FileIDCreator.GetNextFileID(NetworkCommsDotNet.NetworkComms.NetworkIdentifier.ToString()); //定义文件在服务器的保存位置(相对目录) string destFilePath = “20161201”+ @"\\" + Path.GetFileName(filePath); //把文件添加到文件发送管理器中 sendFileDict.AddSendFile(fileID, filePath, destFilePath,AppOutter.TcpConn);
服务器端收到消息后,根据destFilePath中的值,创建相应的子目录,并保存文件。
QQ:286275658
这种形式有什么优点呢
在我的公文系统中,使用这种方式,数据库表的字段中只记录这个子文件夹的名即可.
当然,子文件夹中是可以包含多个文件的。比如某次公文中,可以包含多个附件。
客户端,可以根据某个公文的子文件夹名,获取此文件夹中所有文件。
以上是关于艺萌TCP文件传输及自动更新系统介绍(TCP文件传输)的主要内容,如果未能解决你的问题,请参考以下文章