首页 > 代码库 > 艺萌TCP文件传输及自动更新系统介绍(TCP文件传输)(三)
艺萌TCP文件传输及自动更新系统介绍(TCP文件传输)(三)
艺萌TCP文件传输及自动更新系统介绍(TCP文件传输)(三)
地址:https://item.taobao.com/item.htm?spm=686.1000925.0.0.AjdBGP&id=537538462790
演示程序下载地址: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文件传输)(三)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。