作的时候用的是WPF,需要做一个上传附件的功能,服务器上有一个文件夹,附件都上传到里面,只知道URL路径.

文件夹是在服务器上的IIS里面(就比如说你发布一个网站,把文件夹建在网站下面,当然这个网站啥都没有,你需要的是这个文件夹在这个网站下面的路径,既url路径)

打开窗口选择文件:

if (open.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
foreach (string f in open.FileNames)
{
list.Add(new FileInfo(f));
}
}

把路径加到list里面

上传附件:

这块需要注意如果你的文件非常大的话就需要把流分开上传了

try
{
WebClient wc = new WebClient();
wc.Credentials = new NetworkCredential("zhangsan", "123456");
FileStream fs = new FileStream(oldPath, FileMode.Open, FileAccess.Read);
BinaryReader br = new BinaryReader(fs);
byte[] result = br.ReadBytes(Convert.ToInt32(fs.Length));
Stream s = wc.OpenWrite(new Uri(path), "PUT");
if (s.CanWrite)
{
s.Write(result, 0, result.Length);
}
s.Flush();
s.Close();
fs.Close();
}
catch (Exception)
{
return false;
}

这个oldPath是你在本地选中的文件的路径,path是你要上传到服务器上的路径,包括你上传的文件的名字,比如http://202.202.1.299:80/Up/aaa.jpg

zhangsan是你在服务器上的一个账号的名称,123465是密码,你需要给这个账号读写的权限,并且需要给WebDAV创建一个规则,如图

而且记得把你存放上传文件的文件夹的读写权限给你的这个账号,如图

判断文件夹是否存在

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(filename);
request.Credentials = new NetworkCredential("zhangsan", "123456");
request.Method = "PROPFIND";
request.Headers.Add("Depth", "0");
request.Headers.Add("Translate: f");
WebResponse response = null;
try
{
response = request.GetResponse();
}
catch (WebException exception)
{
if (exception.Message.IndexOf("404") != -1)
{
return false;
}
throw exception;
}
finally
{
if (response != null)
{
response.Close();
}
}

如果没有,那就创建文件夹

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(foldername);
request.Credentials = new NetworkCredential("zhangsan", "123456");
request.Method = "MKCOL";
WebResponse response = null;
try
{
response = request.GetResponse();
}
catch (WebException exception)
{
return false;
}
finally
{
if (response != null)
{
response.Close();
}
}

上传就没了,做完了.

转载于:https://www.cnblogs.com/lijin/p/3415462.html

C# C/S WPF 远程操作服务器上面的文件相关推荐

  1. 如何用 VS Code remote 插件编辑远程 linux 服务器上的文件

    VS Code 是目前最优秀的文本编辑器之一,使用它可以方便地编辑我们 Windows 或者 Mac 机器上的文件.要编辑我们在云上的 linux 服务器的文件,通常我们要么使用 VI,nano 这样 ...

  2. 编辑服务器上的文件,Sublime Text编辑远程Linux服务器上的文件

    sublime有个叫sftp的插件,可以通过它直接打开远程机器上的文件进行编辑,并在保存后直接同步到远程linux服务器上. 用Package Control安装插件 按下Ctrl+Shift+P调出 ...

  3. 远程往服务器上传送文件,远程连接服务器怎么传送文件

    远程连接服务器怎么传送文件 内容精选 换一换 代码迁移工具进行代码迁移时,需要调用Linux下的rpm.deb等命令才能完成扫描和迁移相关任务,这些命令和逻辑必须在后端Linux运行.插件只支持以We ...

  4. java循环读取ftp服务器上面的文件

    公司新项目需要在ftp服务器上读取文件保存到数据库,所以学习了一下怎么读取 项目采用的是springboot框架,首先需要在pom文件中加入comment.net jar包依赖 <!-- 读取f ...

  5. 远程往服务器上传送文件,服务器远程传送文件

    服务器远程传送文件 内容精选 换一换 使用MSTSC方式登录Windows云服务器,可以正常播放音频文件.但是,使用VNC方式登录Windows云服务器时,播放音频文件没有声音.VNC方式不具备音频调 ...

  6. winserver下oracle好运维吗,在Windows 客户端下备份远程Linux服务器上的Oracle数据库...

    1.在Windows上安装Oracle客户端软件(比如:win32_11gR1_client版本最好跟服务器Oracle版本相同) 系统运维  www.osyunwei.com  温馨提醒:qihan ...

  7. java解压服务器文件夹,java获取远程服务器上的文件夹

    java获取远程服务器上的文件夹 内容精选 换一换 安装X722板载网卡驱动软件包,使裸金属服务器支持在v5服务器上下发.其他类型服务器可跳过此步骤.本文以Windows Server 2016为例, ...

  8. 向服务器上传文件的命令,上传文件到远程服务器的命令

    上传文件到远程服务器的命令 内容精选 换一换 将文件上传至Windows云服务器一般会采用MSTSC远程桌面连接的方式.本节为您介绍本地Windows计算机通过远程桌面连接,上传文件至Windows云 ...

  9. 在服务器上导出dmp文件,远程在服务器上导出dmp文件

    远程在服务器上导出dmp文件 内容精选 换一换 由于非工作时间或出差等原因,运维人员无法通过告警管理界面查看告警/事件,但又想实时了解告警/事件的产生或清除情况时,可以配置远程通知规则,将关注的告警/ ...

最新文章

  1. 运行PHP出现No input file specified错误解决办法
  2. 从零开始学习PYTHON3讲义(一)认识Python
  3. 多线程在任何情况下均能提高效率吗?
  4. python 入门第六课 class面向对象OOP
  5. python局部变量想作用于全局_python 局部和全局作用域
  6. Spark配置属性整理(非常全面)
  7. VTK:Utilities之Box
  8. hibernate 的三种状态 如何转化的。
  9. c语言右上左下遍历数组,如何将一个数组的元素循环左移?
  10. 如何注册和删除系统服务文件
  11. Confluence 6 为站点禁用匿名用户访问
  12. android学习资料_知乎上的高能Android学习资源来了,屏幕适配,性能优化,热修复NDk...
  13. paip.编程语言到底有没有优劣之分优秀之分
  14. 【使用指南】ComponentOne Enterprise .NET开发控件集
  15. 迅雷插件会导致IE8假死
  16. salt returner mysql_saltstack实战2--远程执行之返回(returner)
  17. 各种数据类型的取值范围
  18. 一起用Python做个上课点名器,好玩又实用!
  19. RK3288方案开发,RK3288开发板方案,RK3288平板芯片参数资料
  20. Js的Generator函数(一)

热门文章

  1. Socket(套字节)编程,客户端 服务器端的发送消息
  2. 【算法】算法测试题4:最长公共连续子串
  3. 微软最具想象力项目:将数据中心沉入海底
  4. docker 开启remote api
  5. Spring MVC配置静态资源的正常访问
  6. 就是一个人写代码做软件项目也建议用版本管理器也要考虑采用异地容灾手段...
  7. 使用电脑一定得有良好的习惯呀!
  8. Photoshop简单另类方法给黑白照片上色
  9. lopa分析_HAZOP : 保护层分析之失效使能分析导则
  10. hibernate多对多,转换为两个一对多