本文主要详细介绍了ASP.NET文件上传的实现。本文中的示例代码非常详细,具有一定的参考价值。感兴趣的朋友可以参考一下。
在本文中,我们分享了ASP.NET文件上传的具体代码,供大家参考。具体如下。
.NET中C/S和B/S上传文件不同
B/S和C/S的文件上传性质完全不同。
C/S中文件上传的基本原理是通过Socket网络将目标文件从客户端计算机发送到目标服务器计算机,然后将接收到的数据转换成原始文件。
文件转换为字节流发送到服务器将字节流转换为文件保存
在B/S中,文件上传是指在客户端浏览器上选择目标文件后,通过网络将文件发送到目标服务器计算机上,然后将接收到的文件保存在服务器计算机上。
B/S上传文件
页面:
% @ Page Language=' c# ' AutoEventWireup=' true ' code behind=' web form 1 . aspx . cs ' Inherits=' uploadfile demo。WebForm1' %
!文档类型html
html xmlns=' http://www . w3 . org/1999/XHTML '
head runat='server '
meta http-equiv=' Content-Type ' Content=' text/html;charset=utf-8'/
标题/标题
/头
身体
表单id='form1' runat='server '
差异
请选择要上传的文件:ASP:file upload ID=' fileup ' runat=' server '/
ASP:button ID=' btnUpload ' runat=' server ' text=' Start uploading ' OnClick=' btnUpload _ Click '/
ASP:Literal ID=' lblMsg ' runat=' server '/ASP:Literal
/div
/表单
/body
/html
事件:
使用系统;
使用系统。集合。泛型;
使用系统。Linq
使用系统。Web
使用系统。Web . UI
使用系统。Web . UI.WebControls
使用系统。配置;
命名空间上传文件演示
{
公共分部类WebForm1 : System。网页界面
{
受保护的void Page_Load(对象发送方,EventArgs e)
{
}
受保护的void btnUpload_Click(对象发送方,EventArgs e)
{
//[1]确定文件是否存在。
if (fileup。哈希文件)
{
//[2]获取文件大小,判断是否符合设置要求。
双文件长度=文件向上。file content . Length/(1024.0 * 1024.0);
//在配置文件中获取上载文件大小的限制
double limeitLength=Convert。ToDouble(ConfigurationManager。AppSettings[' file maxlength '])/1024.0;
if(文件长度长度长度)
{
LblMsg。Text=$ '上载的文件不能超过{ limeitLength } MB ';
返回;
}
//[3]获取文件名,判断文件扩展名是否符合要求。
字符串fileName=fileup。文件名;
//确定该文件是否为exe文件。
如果(文件名。子字符串(文件名。LastIndexOf(' . ')).ToLower()=='。exe’)
{
LblMsg。Text='无法上传应用程序';
返回;
}
//[4]修改文件名
//一般情况下,上传的文件在服务器保存时不会取原文件名,因为客户端用户庞大,需要保证每个客户端上传的文件不会被覆盖。
文件名=日期时间。now . ToString(' yyyymmdd hhmmssms ')' _ '文件名;//年、月、日、分、秒、毫秒_原始文件名防止文件的绝对覆盖。
//[5]获取存储在服务器中的文件的路径
//'~ '表示应用程序的根目录。从服务器的根目录看。
//'' Shift键' `'键在左上角
字符串路径=服务器。MapPath(' ~/UpFile ');
//[6]上传文件
尝试
{
归档。另存为(路径“/”文件名);//参数:上传文件的完整路径,以及路径的文件名'/'
LblMsg。Text='文件上传成功';
}
catch(例外ex)
{
LblMsg。Text=$ '文件上传失败{例如。消息}”;
}
}
}
}
}
个人资料:
?xml版本='1.0 '编码='utf-8 '?
!-
有关如何配置ASP.NET应用程序的更多信息,请访问。
https://go.microsoft.com/fwlink/?LinkId=169433
-
配置
appSettings
!-配置上传文件的最大字节数:kb单位-!- 30MB -
add key=' file maxlength ' value=' 30720 '/
/appSettings
system.web
编译调试=' true '目标框架=' 4。6 .1 '/
!- httpRuntime中可以设置请求的最大字节数maxRequestLength -
httpRuntime目标框架=' 4。6 .1 ' maxRequestLength=' 40960 '/
/system.web
system.codedom
编译程序
编译器语言=' c#;cs;cs harp"extension=" .cs '
type='Microsoft .CodeDom。提供商。dotnetcompilerplate。csharpcodeprovider,MicrosoftCodeDom。提供商。dotnetcompilerplate,版本=2.0.1.0,区域性=非特定,公钥标记=31bf 3856 ad 364 e 35 '
警告级别=' 4 '编译器选项='/lang version:default/nowarn:1659;1699;1701'/
编译器语言=' vbvbsvisualbasicVBScript " extension=" .vb '
type='Microsoft .CodeDom。提供商。dotnetcompilerplate。' vbcodeprovider,Microsoft .'CodeDom。提供商。dotnetcompilerplate,版本=2.0.1.0,区域性=非特定,公钥标记=31bf 3856 ad 364 e 35 '
警告级别=' 4 '编译器选项='/lang version:default/nowarn:41008/define:_ MYTYPE=\ quot;Web \ quot/optionInfer '/
/编译器
/system.codedom
/配置
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。