//--------------------向服务器上传文件------

//浏览选择需要上传的文件

private static bool Unzip(string address, string filezip)

{

//创建对话框

OpenFileDialog ofd = new OpenFileDialog();

ofd.Title = "请选择上传的文件";

//规定文件类型

ofd.Filter = "zip(*.zip)|*.zip;";

//判断是否选择文件

if (ofd.ShowDialog() == System.Windows.Forms.DialogResult.OK)

{

//获得文件的完整路径(包括名字后后缀)

FilePath = ofd.FileName;

//计算文件KB大小.字节/1024

txtFileSize.Text = Math.Round(new System.IO.FileInfo(FilePath).Length / 1024.0, 2).ToString();

}

}

//上传文件

private void UploadFileIng()

{

//截止文件名称

string fileName = FilePath.Substring( FilePath.LastIndexOf("\\") + 1);

//文件上传

System.IO.FileInfo fileInfoIO = new System.IO.FileInfo(FilePath);

FileStream fs = File.OpenRead(fileInfoIO.FullName);

//获取文件MD5值

try

{

int maxSiz = 1024 * 100;

// 根据文件名获取服务器上的文件

CustomFileInfo file = client.GetFileInfo(fileInfoIO.Name);

if (file == null)

{

file = new CustomFileInfo();

file.OffSet = 0;

}

file.Name = fileInfoIO.Name;

file.Length = fs.Length;

fs.Close();

fs.Dispose();

if (file.Length == file.OffSet) //如果文件的长度等于文件的偏移量,说明文件已经上传完成

{

MessageBox.Show("该文件已存在");

}

else

{

//while (file.Length != file.OffSet)

//{

file.SendByte = new byte[file.Length - file.OffSet <= maxSiz ? file.Length - file.OffSet : maxSiz]; //设置传递的数据的大小

file = client.UpLoadFileInfo(file, sysConfig); //上传

// //int percent = (int)((double)file.OffSet / (double)((long)file.Length)) * 100;

// int percent = (int)(((double)file.OffSet / (double)((long)file.Length)) * 100);

//}

}

}

catch (Exception ex)

{

MessageBox.Show(ex.Message);

}

finally

{

client.Close();

client.Abort();

}

}

//客户端请求配置ServerClient

public CustomFileInfo UpLoadFileInfo(CustomFileInfo fileInfo,SysConfig sysconfig)

{

return this.Channel.UpLoadFileInfo(fileInfo, sysconfig);

}

//实现接口 Server

public CustomFileInfo UpLoadFileInfo(CustomFileInfo fileInfo,SysConfig sysconfig)

{

// 获取服务器文件上传路径

string fileUpLoadPath = System.Web.HttpContext.Current.Server.MapPath(sysconfig.addressFile);

// 如需指定新的文件夹,需要进行创建操作。

if (!Directory.Exists(fileUpLoadPath))

{

Directory.CreateDirectory(fileUpLoadPath);

}

// 创建FileStream对象

FileStream fs = new FileStream(fileUpLoadPath + fileInfo.Name, FileMode.OpenOrCreate);

long offSet = fileInfo.OffSet;

// 使用提供的流创建BinaryWriter对象

var binaryWriter = new BinaryWriter(fs, Encoding.UTF8);

binaryWriter.Seek((int)offSet, SeekOrigin.Begin);

binaryWriter.Write(fileInfo.SendByte);

fileInfo.OffSet = fs.Length;

fileInfo.SendByte = null;

fileInfo.path = fileUpLoadPath ;

binaryWriter.Close();

fs.Close();

return fileInfo;

}

public CustomFileInfo GetFileInfo(string fileName)

{

string filePath = System.Web.Hosting.HostingEnvironment.MapPath("~/UpLoadFile/") + fileName;

if (File.Exists(filePath))

{

var fs = new FileStream(filePath, FileMode.OpenOrCreate);

CustomFileInfo fileInfo = new CustomFileInfo

{

Name = fileName,

OffSet = fs.Length,

};

fs.Close();

return fileInfo;

}

return null;

}

//定有接口 IServer

[OperationContract]

CustomFileInfo UpLoadFileInfo(CustomFileInfo fileInfo, SysConfig sysConfig);

[OperationContract]

CustomFileInfo GetFileInfo(string fileName);

向上传文件服务器,向服务器上传文件相关推荐

  1. sftp上传文件服务器,使用SFTP上传文件到服务器的简单使用

    最近用到SFTP上传文件查找了一些资料后自己做了一点总结,方便以后的查询 /** * 将文件上传到服务器 * * @param filePath * 文件路径 * @param channelSftp ...

  2. 电脑文件如何传到云服务器上,电脑文件如何传到云服务器上

    电脑文件如何传到云服务器上 内容精选 换一换 DNS服务器用于解析弹性文件服务中文件系统的域名.DNS服务器东北区IP地址为100.125.6.250,其它区域详情请参见华为云内网DNS地址.默认情况 ...

  3. 将文件传到免费服务器上,将文件传到服务器上

    将文件传到服务器上 内容精选 换一换 支持将华为云服务器上的音视频文件通过内网方式上传到与服务器在同一区域的视频点播服务中,但您需要先将服务器当前使用的DNS切换为华为云的内网DNS,具体请参见怎样切 ...

  4. 服务器搭建微信编辑器,ueditor编辑器实现微信上传和图片服务器上传

    如题. 前端部分: var ue = UE.getEditor('container', { serverUrl:'{pigcms::$f_siteUrl}<?php  echo U(" ...

  5. 大文件上传到linux服务器,上传文件到服务器的Linux命令

    1 ssh 在Cygwin中执行:$ ssh username@remotehost 2 scp 命令scp基于SSH协议,可以将本地文件拷贝到远程服务上的指定目录,格式如下: $ scp filen ...

  6. 【Linux】上传和下载服务器上的文件

    (1) Xshell: Xshell 只能通过 "sz 文件名" 和 "rz" 来下载和上传文件,也可以直接通过将电脑上的文件拖动到Xshell窗口的方式来上传 ...

  7. 文件传输服务器的默认端口,服务器上传文件端口

    服务器上传文件端口 内容精选 换一换 华为云帮助中心,为用户提供产品简介.价格说明.购买指南.用户指南.API参考.最佳实践.常见问题.视频帮助等技术文档,帮助您快速上手使用华为云服务. 安装传输工具 ...

  8. tomcat上传文件到不同服务器,使用SpringMVC进行跨服务器上传文件出现的那些坑

    [1] 405 Method Not Allowed 原因是因为Servlet默认是只读的,也就是写不进去(文件上传不过来) 所以要在文件服务器的 web.xml 对 Servlet 进行配置 def ...

  9. 上传文件到GPU服务器,上传文件到GPU服务器并运行文件

    目的:将Windows下的Python文件上传到Linux环境下的GPU服务器,并在服务器上运行文件python 1.链接并上传文件服务器 首先要链接服务器并上传文件,能够下载安装WinSCP,它是W ...

最新文章

  1. 升级进度卡住_升级 iOS 系统时卡住怎么办?
  2. 聊一聊转行推荐的问题
  3. PR值:PagePank算法
  4. GDCM:gdcm::terminal的测试程序
  5. 找出n个自然数(1,2,3,…,n)中取r个数的组合(C语言)
  6. don't run elasticsearch as root
  7. Python基础——正则表达式
  8. python语言能做什么-python语言可以干什么
  9. 指针的高阶用法——指向指针的指针
  10. 人脸识别5.2- insightface人脸3d关键点检测,人脸68个特征点、106个特征点;人脸姿态角Pitch、Yaw、Roll、
  11. vlfeat各种版本下载链接:
  12. 按亩补贴?新都区2022年中央财政农业生产发展资金社会化服务项目申报补贴、条件、时间、材料及流程
  13. 小米10 红米K30Pro 小米10Pro 无限重启卡米 9008救砖后无限重启 线刷无效
  14. HTC G14解锁S-OFF、刷机、获取ROOT权限
  15. c语言中isupper用法,C 库函数 – isupper() - C 教程 - 自强学堂
  16. 重新认识JavaScript面向对象: 从ES5到ES6
  17. windows 2008 r2 kb4512486 安装失败解决方法
  18. python淘宝秒拍_(python)下载秒拍美拍视频
  19. [Redis]处理定时任务的2种思路
  20. netty结合java_在SpringBoot中整合使用Netty框架的详细教程

热门文章

  1. 天线接收功率计算公式_对讲机天线到底有多重要?通信效果好不好全靠它了!...
  2. plink源码_plink: 等位型计数(allele count)
  3. 获取当前系统时间c语言,使用C语言获取当前系统的时间
  4. 计算机学业测试答案解析,计算机测试题及答案.doc
  5. php文件上传详解,PHP文件上传实例详解!!!
  6. java欧洲_java欧洲/明斯克时区问题
  7. 给出一个数:(1)求解有几位数,(2)分别输出每一位数字(3)按逆序输出各位数字
  8. java同时关闭两个窗口_在一个窗口中同时关闭多个窗口的问题(Swing中事件多点传送的问题) | 学步园...
  9. 3d打印主要的切片参数类型_3D打印机切片参数详情说明
  10. 复杂电网三相短路计算的matlab仿真,复杂电网三相短路计算的MATLAB仿真电力系统分析课设报告 - 图文...