FileUpload控件使用初步

 

FileUpload控件使用初步:

1.实现文件上传

protected void btnSubmit_click(object sender, EventArgs e)

{

if (FileUpload1.HasFile == true)

{

string strErr = "";

//获得上传文件的大小

int filesize = FileUpload1.PostedFile.ContentLength;

if (filesize > 1024 * 1024)

{

strErr += "文件大小不能大于 1MB\n";

}

if (strErr == "")

{

//获得服务器文件当前路径

string path = Server.MapPath("~");

//把上传文件保存在当前路径的 upload 文件夹中

FileUpload1.PostedFile.SaveAs(path  +  "\\upload\\"  +  FileUpload1.FileName);

lblInfo.Text = "文件保存成功";

}

}

else

{

lblInfo.Text = "请指定上传的文件";

}

}

2. 限定上传的文件的类型

//取得文件的扩展名,并转换成小写             string fileExtension = System.IO.Path.GetExtension(FileUpload1.FileName).ToLower();             //限定只能上传jpg和gif图片             string[] allowExtension = { ".jpg", ".gif", ".txt", ".xls" };             //对上传的文件的类型进行判断             for (int i = 0; i < allowExtension.Length; i++)             {                 if (fileExtension == allowExtension[i])                 {                     fileOk = true;                     break;                 }             }

可以进一步利用FileUpload.PostedFile.ContentType属性进行文件类型判断:     string fileContentType = FileUpload1.PostedFile.ContentType;      if (fileContentType =="image/bmp"|| fileContentType =="image/gif"|| fileContentType =="image/pjpeg")      {

//-----       }

3.将上传文件的名称以时间命名

string fileName = Server.MapPath("~") + "\\upload\\" +   DateTime.Now.ToString("yyyyMMddHHmmss")+".jpg";

FileUpload1.SaveAs(fileName);

4.上传大文件

利用ASP.NET控件中的FileUpload控件时,有时候需要上传大容量的文件,可是默认情况下,上传文件的最大容量为4M。如果要实现更大的文件上传,可以在配置文件中改变两个默认设置:httpRuntime下的maxRequestLength和requestLengthDiskThreshold,前者规定了上传的最大容量值,后者设定缓存的大小,以KB为单位。 如:

<configuration>     <system.web>        ...        <httpRuntime maxRequestLength=”10240" requestLengthDiskThreshold=”100" />        ...     </system.web> </configuration>

上面的设置为可以上传不超过10MB的文件,并把缓存阈值改为100KB。

不过要注意,设置太大了会因用户将大量文件传递到该服务器而导致的拒绝服务攻击。

FileUpload控件使用初步的更多相关文章

  1. C# 自定义FileUpload控件

    摘要:ASP.NET自带的FileUpload控件会随着浏览器的不同,显示的样式也会发生改变,很不美观,为了提高用户体验度,所以我们会去自定义FileUpload控件 实现思路:用两个Button和T ...

  2. webform FileUpload控件实例应用 上传图片

    首先在根目录下建一个"images"文件: HTML: <form id="form1" runat="server"> < ...

  3. WebForm之FileUpload控件(文件上传)

    FileUpload控件要与Button.LinkButton.ImageButton配合使用 FileUpload控件的方法及属性: 1.SaveAs("要上传到服务器的绝对路径" ...

  4. ASP.NET让FileUpload控件支持浏览自动上传功能的解决方法

    ASP.NET的FileUpload控件默认是不支持服务端的onchange事件的,此时可以用一种变通的方法来实现这一功能. 这就需要借用客户端的onchange事件,调用__doPostBack方法 ...

  5. FileUpload控件「批次上传 / 多档案同时上传」的范例--以「流水号」产生「变量名称」

    原文出處  http://www.dotblogs.com.tw/mis2000lab/archive/2013/08/19/multiple_fileupload_asp_net_20130819. ...

  6. Fileupload控件导致500错误

    问题: 今天遇到一个问题,用Fileupload控件上传Excel文件,用一个button控件调用“FileUpload1.SaveAs”方法,点击按钮后出现服务器500错误.如下图: 解决方法: 在 ...

  7. FileUpload控件

    FileUpload控件 属性:FileName: 获取上传的文件名 HasFile: 是否选择(存在)上传的文件 ContentLength: 获得上窜文件的大小,单位是字节(byte) 方法:Se ...

  8. UpdatePanel1里面使用FileUpload控件

    最近做项目过程中,遇到了UpdatePanel1里面放了一个FileUpload控件,结果从后台就获取不到上传的文件了,找了好久才找到原因.原因: 加了红色部分后立马获取到了.

  9. Chart控件使用初步

    学习了Chart控件的初步使用方法,生成柱形图和饼图.    <asp:Chart ID="Chart1" runat="server" Width=&q ...

随机推荐

  1. 基础知识系列☞C#中数组Array、ArrayList和List三者的区别

    数组() #region 数组 //初始化方式_0:先声明再赋值 ]; weekDays_0[] = "Sun"; weekDays_0[] = "Mon"; ...

  2. 黄学长模拟day1 某种密码

    关于某种密码有如下描述:某种密码的原文A是由N个数字组成,而密文B是一个长度为N的01数串,原文和密文的关联在于一个钥匙码KEY.若KEY=∑▒[Ai*Bi],则密文就是原文的一组合法密码. 现在有原 ...

  3. java框架

    Dash Reports 1.0发布 Java报表解决方案 http://developer.51cto.com/art/201205/337189.htm http://www.oschina.ne ...

  4. Go - 内置函数大全

    Package builtin import "builtin" Overview Index Overview ▾ Package builtin provides docume ...

  5. mysql索引优化

    mysql 索引优化 >mysql一次查询只能使用一个索引.如果要对多个字段使用索引,建立复合索引. >越小的数据类型通常更好:越小的数据类型通常在磁盘.内存和CPU缓存中都需要更少的空间 ...

  6. java之stream(jdk8)

    一.stream介绍 参考: Java 8 中的 Streams API 详解   Package java.util.stream   Java8初体验(二)Stream语法详解   二.例子 im ...

  7. Codeforces 260 B. Fedya and Maths

    题目链接:http://codeforces.com/contest/456/problem/B 解题报告:输入一个n,让你判断(1n + 2n + 3n + 4n) mod 5的结果是多少?注意n的 ...

  8. [codevs1141]数列

    [codevs1141]数列 试题描述 给定一个正整数k(3≤k≤15),把所有k的方幂及所有有限个互不相等的k的方幂之和构成一个递增的序列,例如,当k=3时,这个序列是: 1,3,4,9,10,12 ...

  9. caffe学习系列(4):视觉层介绍

    视觉层包括Convolution, Pooling, Local Response Normalization (LRN), im2col等层. 这里介绍下conv层. layer { name: & ...

  10. linux shell脚本常用语句

    linux shell 指令 诸如-d, -f, -e之类的判断表达式: 文件比较运算符-e filename  如果 filename存在,则为真  [ -e /var/log/syslog ]-d ...