c# 05版本的文件上传
在05版本的c#中,组件丰富,例如:fileupload,只需要在webform中添加该组件和一个button,则在button中可以加入代码
if (FileUpload1.PostedFile.ContentLength == 0)//判断选取对话框选取的文件长度是否为0
{
Label1.Text = "你还没有选择文件! :)";
}
else
{
string strBaseLocation = "G:\\project.net\\05uploadfile\\images\\";
FileUpload1.PostedFile.SaveAs(strBaseLocation +FileUpload1.FileName);
Label1.Text = "文件已经上传,文件名为:" +FileUpload1.FileName ;
}
当然,上传路径可以通过学习server.mappath来获得
如果是03版本的c#,则
在你的Visual C# web project 中增加一个上传用的Web Form,为了要上传文件,需要在ToolBox中选择HTML类的File Field控件,将此控件加入到Web Form中,然而此时该控件还不是服务端控件,我们需要为它加上如下一段代码:<input id=uploadfile1 type=file size=49 runat="server">,这样它就成为服务端控件了,如果需要同时上传数个文件时,我们可以相应增加此控件。
if (FileUpload1.PostedFile.ContentLength == 0)//判断选取对话框选取的文件长度是否为0
{
Label1.Text = "你还没有选择文件! :)";
}
else
{
string strBaseLocation = "G:\\project.net\\05uploadfile\\images\\";
FileUpload1.PostedFile.SaveAs(strBaseLocation +FileUpload1.FileName);
Label1.Text = "文件已经上传,文件名为:" +FileUpload1.FileName ;
}
当然,上传路径可以通过学习server.mappath来获得
如果是03版本的c#,则
在你的Visual C# web project 中增加一个上传用的Web Form,为了要上传文件,需要在ToolBox中选择HTML类的File Field控件,将此控件加入到Web Form中,然而此时该控件还不是服务端控件,我们需要为它加上如下一段代码:<input id=uploadfile1 type=file size=49 runat="server">,这样它就成为服务端控件了,如果需要同时上传数个文件时,我们可以相应增加此控件。
需要注意的是代码中一定要把<form>的属性设置成为:
<form method=post encType=multipart/ form-data runat="server">
如果没有这个属性,就不能实现上传。
然后在此Web Form中增加一个Web Form类的Button,双击Button添加代码则可以了.
最后,在web.config中的</system.web>内添加这句
<httpRuntime maxRequestLength="10240" executionTimeout="300"/>
maxRequestLength:指示 ASP.NET 支持的HTTP方式上载的最大字节数。该限制可用于防止因用户将大量文件传递到该服务器而导致的拒绝服务攻击。指定的大小以 KB 为单位。默认值为 4096 KB (4 MB)。executionTimeout:指示在被 ASP.NET 自动关闭前,允许执行请求的最大秒数。在当文件超出指定的大小时,如果浏览器中会产生 DNS 错误或者出现服务不可得到的情况,也请修改以上的配置,把配置数加大。
以上在vs03和05版本测试成功