首页 新闻 会员 周边

Winform上传文件到IIS服务器问题

0
悬赏园豆:50 [已解决问题] 解决于 2012-08-23 13:57

我想做一个通过winform把文件上传到IIS服务器(IIS服务器部署的一个ASP.NET程序),然后IIS服务器会把文件保存到一台计算机上,把文件的详细信息保存到另一台计算机上。请问我把文件如何上传到IIS服务器,然后IIS服务器接到文件如何自动去处理呢?

E1ement的主页 E1ement | 初学一级 | 园豆:59
提问于:2012-08-22 17:20
< >
分享
最佳答案
0

最简单的方法:

1,建立一个 Asp.Net 应用程序项目;

2,添加一个 FileManager.aspx 页面,在 Page_Load 中通过 Reqeust.Files 获取收到的文件,然后 SaveAs 到指定磁盘路径;

3,在 WinForm 客户端中,使用 WebClient.UploadFile 上传文件;

收获园豆:30
Launcher | 高人七级 |园豆:45045 | 2012-08-22 17:37

谢谢你回复,我再问一下,我上传到IIS服务器如何触发我的处理程序呢,需要写个监听吗,或者怎么触发呢?

E1ement | 园豆:59 (初学一级) | 2012-08-22 17:48

@朝阳丶李森: 把网站部署到IIS,在 Page_Load里写你的处理逻辑。

Launcher | 园豆:45045 (高人七级) | 2012-08-22 18:16

@朝阳丶李森: 我上传到IIS服务器如何触发我的处理程序呢,需要写个监听吗

完全没有必要的

chenping2008 | 园豆:9836 (大侠五级) | 2012-08-22 19:10
其他回答(2)
0

1.用FTP上传到IIS目录,见:http://www.open-open.com/lib/view/open1332167830781.html  的Upload方法。

或楼上的方法

2.在网站Global.asx的Application_Start方法中,使用FileSystemWatcher对上传目录进行监听,FileSystemWatcher用法见:http://technet.microsoft.com/zh-cn/magazine/system.io.filesystemwatcher.notifyfilter(VS.90).aspx

 

收获园豆:10
向往-SONG | 园豆:4853 (老鸟四级) | 2012-08-22 17:46

谢谢,有没有其他的方法呢?

支持(0) 反对(0) E1ement | 园豆:59 (初学一级) | 2012-08-22 17:49

@朝阳丶李森: 

用一楼那样就可以了,最简单。

保存文件的时候就可以进行处理了啊,还要触发什么。。

支持(0) 反对(0) 向往-SONG | 园豆:4853 (老鸟四级) | 2012-08-22 17:53

@向往-SONG: 嗯,谢谢你们,今晚我先做个例子试下。有问题在来请教你们。帖子暂时放放,等解决了问题再接。

支持(0) 反对(0) E1ement | 园豆:59 (初学一级) | 2012-08-22 17:57
0

楼主的意思:文件放一个电脑A上、文件信息放到另一个电脑B上(不知道是用文件保存还是数据库保存?)、再加上文件上传操作的客户端C,一共三个电脑。

方法1:分别在A和B上部署webservice,在A的webservice方法中,执行文件保存操作,即可保存到A电脑上,再B的websevice方法中执行文件保存或者数据库保存,C执行程序调用两个WEBSERVICE,传递相应的文件(文件流信息)和文件信息。

方法2:在A和B每台电脑上部署一个FTP和IIS自动执行程序。FTP用于接收C客户端传递的文件信息,IIS程序定时扫描FTP文件信息,执行相应的动作。

如果楼主B电脑上是用数据库保存信息的,就稍微简单些,直接通过C远程访问数据库就行了,只需要在A电脑上执行以上的方法。

收获园豆:10
Alec-Yin | 园豆:188 (初学一级) | 2012-08-22 22:17

嗯,谢谢你的帮助,是这个意思,不过你还少说了一个电脑,假设 电脑A是客户端,B是一个IIS部署了一个ASP.NET程序的服务器,现在要从A电脑把文件上传到B,在B电脑上通过IIS部署的ASP.NET程序把文件流分析出来,文件保存到C电脑的MongoDB里,文件信息保存到D电脑的SQLServer里面,我现在的问题就是不知道怎么做这个B电脑IIS中部署的这个ASP.NET程序?

支持(0) 反对(0) E1ement | 园豆:59 (初学一级) | 2012-08-22 22:51

@朝阳丶李森: 那就是把我上面说的A电脑换成你的C电脑就行了,B电脑上的IIS就以一般的ASP.NET程序了,它调用C两台电脑端的Webservice,把文件流传递给C,C端的Webservice负责解析保存。然后B端远程连接D的数据库,把信息保存进去。

支持(0) 反对(0) Alec-Yin | 园豆:188 (初学一级) | 2012-08-22 23:11

@清明雨上: 嗯,谢谢。A电脑换成C电脑?   A是客户端    A只可以通过B(IIS部署的ASP.NET程序)来向 C和D两台电脑分别保存文件。

支持(0) 反对(0) E1ement | 园豆:59 (初学一级) | 2012-08-23 09:08

@朝阳丶李森: 对的,我第一次回复的时候把A当做部署程序的服务器了。

支持(0) 反对(0) Alec-Yin | 园豆:188 (初学一级) | 2012-08-23 09:15
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册