x86服务器 Non-x86服务器 服务器组件 虚拟化/云计算 高性能计算 超融合系统 虚拟桌面 数据中心 关键业务服务器
存储系统 存储网络 存储管理 备份归档 存储组件 云/数据中心
路由交换 企业通信 无线 应用交付 网络管理 网络优化 SDN/NFV 物联网
终端安全 网络安全 数据安全 应用安全 移动安全 风险与合规 安全管理 安全导航
产业观察 行业应用 应用软件 基础软件 互联网 开发者
虚拟化
PC 打印机 工作站 平板电脑 智能手机 智能硬件
人物 CIO加油站 云计算 大数据 Apps 10Things 企业开源智库
行者学院 转型私董会 科技行者专题报道 网红大战科技行者
知识库 安全导航
扫一扫分享文章到微信
扫一扫关注官方公众号至顶头条
来源:soft6 2008年5月22日
关键字: 上传 web C# Windows
那么使用C#如何实现文件上传的功能呢?下面笔者简要介绍一下。
首先,在你的Visual C# web project 中增加一个上传用的Web Form,为了要上传文件,需要在ToolBox中选择HTML类的File Field控件,将此控件加入到Web Form中,然而此时该控件还不是服务端控件,我们需要为它加上如下一段代码:
,这样它就成为服务端控件了,如果需要同时上传数个文件时,我们可以相应增加此控件。
需要注意的是代码中一定要把 的属性设置成为:
如果没有这个属性,就不能实现上传。
然后在此Web Form中增加一个Web Form类的Button,双击Button添加如下代码:
//上传图片的程序段
DateTime now = DateTime.Now ;
//取现在时间到DataTime类的对象now中
string strBaseLocation = "D:webFCpic";
//这是文件将上传到的服务器的绝对目录
if (uploadfile1.PostedFile.ContentLength != 0)
//判断选取对话框选取的文件长度是否为0
{
uploadfile1.PostedFile.SaveAs(strBaseLocation+now.
DayOfYear.ToString()+uploadfile1.PostedFile.
ContentLength.ToString()+".jpg");
//执行上传,并自动根据日期和文件大小不同为文件命名,确保不重复
Label1.Text="图片1已经上传,文件名为:"+now.DayOfYear.
ToString()+uploadfile1.PostedFile.ContentLength.ToString()+".jpg";
navigator.Insert(System.Xml.TreePosition.After,
XmlNodeType.Element,"pic1","","") ;
navigator.Insert(System.Xml.TreePosition.FirstChild,
XmlNodeType.Text,"pic1","","") ;
navigator.Value= now.DayOfYear.ToString()+uploadfile1.
PostedFile.ContentLength.ToString()+".jpg" ;
navigator.MoveToParent() ;
}
上面的代码用于笔者开发的一个使用XML文件存储新闻信息的系统中,后面几句代码作用是写上传文件信息到XML文件中。如果要上传其他类型文件,只需要将jpg改为相应类型的后缀名即可,如改为doc即可上传Word文件,浏览器即可直接浏览上传的Word文件。
【注意事项】
1. 上传文件不可以无限大;
2. 要注意IIS的安全性方面的配合;
3. 用Visual Studio 的安装项目做安装程序的时候,请注意安装程序所在的绝对路径问题;
4. 注意文件上传后的重名问题。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
城市云与城市智能发展峰会
ZDNet 2013年回顾与2014年展望专题