网上有很多方案,起初用时,因为对asp.net不太了解,觉得FTP实现不错,可是后来发现,如果机器在域控下,就会有问题。

一年过去了,asp.net也熟悉了,知道ajax没事应该用ashx,验证码也用ashx,当然这里要说的WinForm上传也应该是ashx了吧,哈哈,先提供简单思路:

接收文件的asp.net是:Uploader.ashx,相关代码:

  1. <%@ WebHandler Language="C#" Class="Uploader" %>
  2. using System;
  3. using System.IO;
  4. using System.Web;
  5. public class Uploader : IHttpHandler
  6. {
  7. public void ProcessRequest(HttpContext hc)
  8. {
  9. foreach (string fileKey in hc.Request.Files)
  10. {
  11. HttpPostedFile file = hc.Request.Files[fileKey];
  12. file.SaveAs(Path.Combine(hc.Server.MapPath("."), file.FileName));
  13. }
  14. }
  15. public bool IsReusable
  16. {
  17. get { return true; }
  18. }
  19. }

发送图片或文件的WinForm.cs 相关代码:

  1. System.Net.WebClient myWebClient = new System.Net.WebClient();
  2. myWebClient.UploadFile("http://www.yongfa365.com/Uploader.ashx", "POST", "C:\\WINDOWS\\system32\\cmd.exe");

OK,完了,这样操作后,再也不用管是不是在域控内了,只要能上网,就能上传。够方便吧。


如果你要批量上传,还有上传后保存在哪个目录等操作可以参考柳永法(yongfa365)'Blog写的:

接收文件的asp.net是:Uploader.ashx,相关代码:

  1. <%@ WebHandler Language="C#" Class="Uploader" %>
  2. using System;
  3. using System.IO;
  4. using System.Web;
  5. public class Uploader : IHttpHandler
  6. {
  7. public void ProcessRequest(HttpContext hc)
  8. {
  9. string NowPath = Path.Combine(hc.Server.MapPath("."), hc.Request["path"]);
  10. if (!Directory.Exists(NowPath))
  11. {
  12. Directory.CreateDirectory(NowPath);
  13. }
  14. foreach (string fileKey in hc.Request.Files)
  15. {
  16. HttpPostedFile file = hc.Request.Files[fileKey];
  17. string FilePath = Path.Combine(NowPath, file.FileName);
  18. if (File.Exists(FilePath))
  19. {
  20. if (Convert.ToBoolean(hc.Request["overwrite"]))
  21. {
  22. File.Delete(FilePath);
  23. }
  24. else
  25. {
  26. continue;
  27. }
  28. }
  29. file.SaveAs(FilePath);
  30. }
  31. }
  32. public bool IsReusable
  33. {
  34. get { return true; }
  35. }
  36. }

发送图片或文件的WinForm.cs 相关代码:

  1. string url = @"http://www.yongfa365.com/Uploader.ashx?Overwrite=true&PATH=Logs\" + DateTime.Now.ToString("yyyy-MM-dd");
  2. foreach (string file in Directory.GetFiles(item))
  3. {
  4. System.Net.WebClient myWebClient = new System.Net.WebClient();
  5. myWebClient.UploadFile(url, "POST", file);
  6. }

C# WinForm 上传图片,文件到服务器的方法Uploader.ashx的更多相关文章

  1. 上传图片流到服务器(AFN方法) (多张图片)(图片流)

      上传图片流到服务器(AFN方法) (多张图片)(图片流) 第一步//获取图片 UIAlertController *actionSheet = [UIAlertController alertCo ...

  2. html+php上传图片文件到服务器

    html+php上传图片文件到服务器 一.html代码 <body> <form action="" method="post" enctyp ...

  3. 从app上传图片到php,再上传到java后端服务器的方法一览

    在现在的网络开发中,上传图片类的需求实在是太普通不过了,但是对于怎么样做到上传图片,对于刚开始建立项目的时候,还是有点不知所措的.也许有幸,我们做的项目是之前已经有人写过类似的用例了,那么我们只需要依 ...

  4. 从app上传图片到php,再上传到java后端服务器的方法一条龙服务

    在现在的网络开发中,上传图片类的需求实在是太普通不过了,但是对于怎么样做到上传图片,对于刚开始建立项目的时候,还是有点不知所措的.也许有幸,我们做的项目是之前已经有人写过类似的用例了,那么我们只需要依 ...

  5. php上传图片文件常用的几个方法

    1. 前台 <form class="add-form" method="post" action="/person/save" en ...

  6. 将本地文件上传到指定的服务器(HttpWebRequest方法)

    将本地文件上传到指定的服务器(HttpWebRequest方法),通过文件流,带文件名,同文件一同上传的表单文本域及值. ///<summary> /// 将本地文件上传到指定的服务器(H ...

  7. winform上传文件到服务器——资料整理

    标题:使用简单的wcf文件实现上传,下载文件到服务器 地址:https://blog.csdn.net/duanzi_peng/article/details/19037777

  8. javaweb-servlet获取给定文件在服务器上的绝对路径的方法

    1.通过ServletContext获取 在tomcat5,6,7版本中我们可以通过ServletContext来获取给定文件在服务器上的绝对路径. ServletContext context = ...

  9. C# 通过WebService方式 IIS发布网站 上传文件到服务器

    应用场景:要将本地的文件 上传到服务器的虚拟机上 网络环境:公司局域网(如下图中第二种) 开发环境:VS2010 服务器环境:WinServer2008    虚拟机环境:WinServer2008 ...

随机推荐

  1. Java中实现复制文件或文件夹

     拷贝一个文件的算法比较简单,当然,可以对它进行优化,比如使用缓冲流,提高读写数据的效率等.但是在复制文件夹时,则需要利用Flie类在目标文件夹中创建相应的目录,并且使用递归方法. [java] vi ...

  2. linux下网络排错与查看

    基本的故障排除错误 故障的排除一定是先简单后复杂的,有的人把上述的文件反复配置,就是上不了网,一直都认为是系统出了故障,想重装机子.结果发现原来是网线压根就没插上. 排错要慢慢的按部就班的来: (1) ...

  3. setImageResource和setImageDrawable区别

    ImageView设置图片的方式有很多钟,可以在xml里面写android:src=”@drawable/xxx”,也可以在java代码里面设置. 在java里面的设置方式也有多种,方法包括:setI ...

  4. linux命令——ll

    一.ll命令 ll并不是linux下一个基本的命令,它实际上是ls -l的一个别名. Ubuntu默认不支持命令ll,必须用 ls -l,这样使用起来不是很方便. 如果要使用此命令,可以作如下修改:打 ...

  5. 3D 矩阵旋转

    如图,需要将点(向量) v(x, y, 0) 绕 z 轴旋转角度 θ,求旋转后的点(向量) v'(x', y', 0). 大概思路: 1. 将 v(x, y, 0) 分解, v(x, y, 0) = ...

  6. JavaScript中的重载解读

    在JavaScript中有一种特殊的数据类型---Function类型,JavaScript的每个函数都是Function类型的实例.由于函数是对象,因此函数名实际上也是一个指向函数对象的指针,不会与 ...

  7. NetAdvantage 笔记

    1.UltraControlBase Class Members 1.BeginUpdate Method Sets the IsUpdating flag to true which prevent ...

  8. 最近的bug列表总结(C++)

    最近写了一大段代码,抽象得厉害,容易绕进去,因为写单测的代价很大(借口),所以很多问题到联调的是否才发现. 而且花费了很大的经历才查出来,主要问题有如下几个问题 1. 变量未初始化 具体来说,就是指针 ...

  9. hive UDF函数

    —虽然Hive提供了很多函数,但是有些还是难以满足我们的需求.因此Hive提供了自定义函数开发 —自定义函数包括三种UDF.UADF.UDTF —UDF(User-Defined-Function) ...

  10. hadoop conf中xml文件修改

    core-site.xml <?xml version="1.0"?><?xml-stylesheet type="text/xsl" hre ...