Asp.Net文件上传之简单文件上传(上) - ASP.net

来源:百度文库 编辑:神马文学网 时间:2024/04/27 11:09:03
FileUpload控件
属性:
FileName: 获取上传的文件名
HasFile: 是否选择(存在)上传的文件
ContentLength: 获得上窜文件的大小,单位是字节(byte)
方法:
Server.MapPath(): 获取服务器上的物理路径
SaveAs(): 保存文件到指定的文件夹
注意:默认情况下限制上传文件大小为4MB,通过web.config.comments(这个设置是全局的配置)可以修改其默认设置
或者通过修改web.config文件来改变应用程序上传限制.
如:
Xml代码


元素解释:
maxRequestLength: 设置上传文件大小,单位是kb.
executionTimeout: 允许执行请求的最大秒数,此功能必须在Compilation元素中Debug属性为false时才生效.
enable: 指定是否在当前的节点及子节点级别启用应用程序域 (AppDomain),以接受传入的请求。如果为 False,则实际上关闭了该应用程序。默认值为 True.
通俗的说就是:是否允许用户访问该网站(是否允许Http请求)
注意:如果上传文件超过maxRequestLength大小,会出现页面无法显示的情况.
如:

检查文件上传类型:
1).客户端检查(javascript实现)
2).服务器端检查
示例:
界面参考:

javascript:
Js代码
function checkType(){
//得到上传文件的值
var fileName=document.getElementById("FileUpLoad1").value;
//返回String对象中子字符串最后出现的位置.
var seat=fileName.lastIndexOf(".");
//返回位于String对象中指定位置的子字符串并转换为小写.
var extension=fileName.substring(seat).toLowerCase();
//判断允许上传的文件格式
//if(extension!=".jpg"&&extension!=".jpeg"&&extension!=".gif"&&extension!=".png"&&extension!=".bmp"){
//alert("不支持"+extension+"文件的上传!");
//return false;
//}else{
//return true;
//}
var allowed=[".jpg",".gif",".png",".bmp",".jpeg"];
for(var i=0;iif(!(allowed[i]!=extension)){
return true;
}
}
alert("不支持"+extension+"格式");
return false;
}
function checkType(){//得到上传文件的值var fileName=document.getElementById("FileUpLoad1").value;//返回String对象中子字符串最后出现的位置.var seat=fileName.lastIndexOf(".");//返回位于String对象中指定位置的子字符串并转换为小写.var extension=fileName.substring(seat).toLowerCase();//判断允许上传的文件格式//if(extension!=".jpg"&&extension!=".jpeg"&&extension!=".gif"&&extension!=".png"&&extension!=".bmp"){//alert("不支持"+extension+"文件的上传!");//return false;//}else{//return true;//}var allowed=[".jpg",".gif",".png",".bmp",".jpeg"];for(var i=0;i.aspx:
Html代码


无标题页






OnClick="btnFileUpload_Click" Text="文件上传"
OnClientClick="return checkType()" />





无标题页


.aspx.cs:
C#代码
//文件上传按钮click事件
protected void btnFileUpload_Click(object sender, EventArgs e)
{
if (FileUpLoad1.HasFile)
{
//判断文件是否小于10Mb
if (FileUpLoad1.PostedFile.ContentLength < 10485760)
{
try
{
//上传文件并指定上传目录的路径
FileUpLoad1.PostedFile.SaveAs(Server.MapPath("~/Files/")
+ FileUpLoad1.FileName);
/*注意->这里为什么不是:FileUpLoad1.PostedFile.FileName
* 而是:FileUpLoad1.FileName?
* 前者是获得客户端完整限定(客户端完整路径)名称
* 后者FileUpLoad1.FileName只获得文件名.
*/
//当然上传语句也可以这样写(貌似废话):
//FileUpLoad1.SaveAs(@"D:\"+FileUpLoad1.FileName);
lblMessage.Text = "上传成功!";
}
catch (Exception ex)
{
lblMessage.Text = "出现异常,无法上传!";
//lblMessage.Text += ex.Message;
}
}
else
{
lblMessage.Text = "上传文件不能大于10MB!";
}
}
else
{
lblMessage.Text = "尚未选择文件!";
}
}
//文件上传按钮click事件protected void btnFileUpload_Click(object sender, EventArgs e){if (FileUpLoad1.HasFile){//判断文件是否小于10Mbif (FileUpLoad1.PostedFile.ContentLength < 10485760){try{//上传文件并指定上传目录的路径FileUpLoad1.PostedFile.SaveAs(Server.MapPath("~/Files/")+ FileUpLoad1.FileName);/*注意->这里为什么不是:FileUpLoad1.PostedFile.FileName* 而是:FileUpLoad1.FileName?* 前者是获得客户端完整限定(客户端完整路径)名称* 后者FileUpLoad1.FileName只获得文件名.*///当然上传语句也可以这样写(貌似废话)://FileUpLoad1.SaveAs(@"D:\"+FileUpLoad1.FileName);lblMessage.Text = "上传成功!";}catch (Exception ex){lblMessage.Text = "出现异常,无法上传!";//lblMessage.Text += ex.Message;}}else{lblMessage.Text = "上传文件不能大于10MB!";}}else{lblMessage.Text = "尚未选择文件!";}}
_xyz