黄小二的讀書筆記
有才而性缓定属大才,有智而气和斯为大智。人偏狭我受之以宽容,人险仄我持之以坦荡。缓事宜急干,敏则有功;急事宜缓办,忙则多措。 --李叔同
首页
新随笔
聚合
管理
随笔-7 评论-24 文章-102 trackbacks-0
在 WinForm中使用 WebClient上传文件
使用指定的方法将指定的本地文件上载到指定的资源
在WinForm中通过HTTP协议向服务器端上传文件
1.服务器端处理程序
<%
@ Page Language
=
"
C#
"
AutoEventWireup
=
"
true
"
CodeFile
=
"
Upload.aspx.cs
"
Inherits
=
"
Upload
"
%>
前台代码 Upload.aspx
using
System;
using
System.Web;
public
partial
class
Upload : System.Web.UI.Page
{
//
服务器默认保存路径
private
readonly
string
serverPath
=
@"
C:\upload\
"
;
private
void
Page_Load(
object
sender, System.EventArgs e)
{
//
获取 http提交上传的文件, 并改名保存
foreach
(
string
key
in
Request.Files.AllKeys)
{
HttpPostedFile file
=
Request.Files[key];
string
newFilename
=
DateTime.Now.ToString(
"
yyMMddhhmmssffff
"
)
+
file.FileName.Substring(file.FileName.LastIndexOf(
'
.
'
));
try
{
//
文件保存并返回相对路径地址
file.SaveAs(
this
.serverPath
+
newFilename);
Response.Write(
"
upload/
"
+
newFilename);
}
catch
(Exception)
{
}
}
}
}
后台代码 Upload.aspx.cs
2.客户端程序
/**/
///
<summary>
///
单个文件上传至服务器
///
</summary>
///
<param name="uriAddress">
接收文件资源的URI, 例如:
http://xxxx/Upload.aspx
</param>
///
<param name="filePath">
要发送的资源文件, 例如: @"D:\workspace\WebService 相关.doc
</param>
///
<returns>
返回文件保存的相对路径, 例如: "upload/xxxxx.jpg" 或者出错返回 ""
</returns>
private
string
UploadFile(
string
uriAddress,
string
filePath)
{
//
利用 WebClient
System.Net.WebClient webClient
=
new
System.Net.WebClient();
webClient.Credentials
=
System.Net.CredentialCache.DefaultCredentials;
try
{
byte
[] responseArray
=
webClient.UploadFile(uriAddress,
"
POST
"
, filePath);
string
savePath
=
System.Text.Encoding.ASCII.GetString(responseArray);
return
savePath;
}
catch
(Exception)
{
return
""
;
}
}
ps.判断远程文件是否存在
public
bool
UriExists(
string
url)
{
try
{
new
System.Net.WebClient().OpenRead(url);
return
true
;
}
catch
(System.Net.WebException)
{
return
false
;
}
}
posted on 2009-05-26 08:57
黄小二
阅读(5133)
评论(1)
编辑
收藏
所属分类:
C#
评论:
#
re: 在 WinForm中使用 WebClient上传文件
2014-11-26 17:28 |
热热
44444444444444444444444
回复
更多评论
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
Chat2DB
C++博客
博问
管理
相关文章:
[转] DataBinder.Eval用法
[转]Response.Redirect(),Server.Transfer(),Server.Execute()的区别
DataTable、DataView、ListBox 数据绑定与查询
Enterprise Library 4 之 DAAB使用
存储过程返回的多结果集数据,ado 访问调用
iis tomcat 服务集成
C# 程序发布/部署相关
Enterprise Library 企业库笔记
C# XML的一点记录
Xml 处理类(更新中...)
<
2024年12月
>
日
一
二
三
四
五
六
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
文章分类
(147)
[DB](5)
[DB].MySQL(7)
[DB].Oracle(14)
[DB].SQL Server(8)
Ajax(13)
ASP.NET(18)
C#(19)
J2EE(22)
J2SE(12)
S/S2SH(15)
Web Design(8)
杂谈(6)
文章档案
(108)
2010年6月 (1)
2010年5月 (12)
2010年4月 (18)
2009年9月 (3)
2009年8月 (2)
2009年7月 (6)
2009年6月 (3)
2009年5月 (7)
2009年4月 (10)
2009年3月 (1)
2009年1月 (1)
2008年12月 (4)
2008年11月 (1)
2008年10月 (17)
2008年9月 (17)
2008年8月 (2)
2008年7月 (3)
在线帮助
Java API Specifications
Java 开源大全
javaNB 在线文档
MSDN 技术资源库
MySQL 5.1参考手册
Oracle Documentation
w3school 在线教程
开源软件库
Ajax/JavaScript脚本大全
Asp.net源码专业站
CSDN开源频道
CSS9.NET
源码爱好者
社区
developerWorks 中国
最新评论
1. re: SQL Server 2005/2008 对With Encryption选项创建的存储过程解密
评论内容较长,点击标题查看
--专业祛痘
2. re: SQL Server 2005/2008 对With Encryption选项创建的存储过程解密
评论内容较长,点击标题查看
--lolola
3. re: 在 WinForm中使用 WebClient上传文件
44444444444444444444444
--热热
4. re: 使用 HibernateTemplate 实现分页查询 (HibernateCallback接口)
评论内容较长,点击标题查看
--redcoatjk
5. re: SQL Server 2005/2008 对With Encryption选项创建的存储过程解密
评论内容较长,点击标题查看
--谢谢楼主
评论排行榜