首先在根目录下建一个"images"文件:

HTML:

<form id="form1" runat="server">
<asp:FileUpload ID="FileUpload1" runat="server" />
<asp:Button ID="Button1" runat="server" Text="上传" onclick="Button1_Click" />
<br />
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
<br />
<asp:Label ID="Label2" runat="server" Text="Label"></asp:Label>
<br />
<asp:Label ID="Label3" runat="server" Text="Label"></asp:Label>
<br />
<asp:Label ID="Label4" runat="server" Text="Label"></asp:Label>
</form>

后台cs:

 protected void Button1_Click(object sender, EventArgs e)
{ string strName = FileUpload1.PostedFile.FileName;//使用fileupload控件获取上传文件的文件名
if (strName != "")//如果文件名存在
{
bool fileOK = false;
int i = strName.LastIndexOf(".");//获取。的索引顺序号,在这里。代表图片名字与后缀的间隔
string kzm = strName.Substring(i);//获取文件扩展名的另一种方法 string fileExtension = System.IO.Path.GetExtension(FileUpload1.FileName).ToLower();
string newName = Guid.NewGuid().ToString();//生成新的文件名,保证唯一性 string xiangdui = @"~\images\";//设置文件相对网站根目录的保存路径 ,~号表示当前目录,在此表示根目录下的images文件夹
string juedui = Server.MapPath("~\\images\\");//设置文件保存的本地目录绝对路径,对于路径中的字符“\”在字符串中必须以“\\”表示,因为“\”为特殊字符。或者可以使用上一行的给路径前面加上@
string newFileName = juedui + newName + kzm;
if (FileUpload1.HasFile)//验证 FileUpload 控件确实包含文件
{ String[] allowedExtensions = { ".gif", ".png", ".bmp", ".jpg",".txt" };
for (int j = ; j < allowedExtensions.Length; j++)
{
if (kzm== allowedExtensions[j])
{
fileOK = true;
}
}
}
if(fileOK)
{
try
{
// 判定该路径是否存在
if (!Directory.Exists(juedui ))
Directory.CreateDirectory(juedui );
Label1.Text = newFileName; //为了能看清楚我们提取出来的图片地址,在这使用label
Label2.Text = "<b>原文件路径:</b>" + FileUpload1.PostedFile.FileName + "<br />" +
"<b>文件大小:</b>" + FileUpload1.PostedFile.ContentLength + "字节<br />" +
"<b>文件类型:</b>" + FileUpload1.PostedFile.ContentType + "<br />";
Label3.Text = xiangdui + newName + kzm;
Label4.Text = "文件上传成功.";
FileUpload1.PostedFile.SaveAs(newFileName);//将图片存储到服务器上
}
catch (Exception)
{
Label4.Text = "文件上传失败.";
}
}
else
{
Label4.Text = "只能够上传图片文件.";
}
}
}

webform FileUpload控件实例应用 上传图片的更多相关文章

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

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

  2. ASP.NET中 WebForm 窗体控件使用及总结【转】

    原文链接:http://www.cnblogs.com/ylbtech/archive/2013/03/06/2944675.html ASP.NET中 WebForm 窗体控件使用及总结. 1.A, ...

  3. Asp.net中FileUpload控件实现图片上传并带预览显示

    单一图片上传——“选择”+“上传”,.NET默认模式: 1.实现原理:     采用FileUpload控件默认的使用方式,先由“选择”按钮选择图片,然后单击“上传”按钮完成上传,并可在“上传”按钮的 ...

  4. C# 自定义FileUpload控件

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

  5. FileUpload控件使用初步

    FileUpload控件使用初步   FileUpload控件使用初步: 1.实现文件上传 protected void btnSubmit_click(object sender, EventArg ...

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

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

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

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

  8. Fileupload控件导致500错误

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

  9. FileUpload控件

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

随机推荐

  1. MVC3实现多个按钮提交

    有时我们需要在同一个Form表单中进行多个按钮的提交,来完成不同的功能.因为MVC中一个表单默认只能提交到一个Action处理,相对比较麻烦. 1.使用客户端脚本 我们可以view中加上如下代码: & ...

  2. JavaScript设计模式——单体模式

    一:单体模式简介: 是什么:将代码组织为一个逻辑单元,这个单元中的代码通过单一的变量进行访问.只要单体对象存在一份实例,就可以确信自己的所有代码使用的是同样的全局资源. 用途:1.用来划分命名空间,减 ...

  3. DSP using MATLAB示例Example3.6

    代码: n = [-5:5]; x = (-0.9).^n; % x(n) = k = -200:200; w = (pi/100)*k; % [0,pi] axis divided into 101 ...

  4. node http 服务

    var http = require("http") http.createServer(function(req,res){ res.writeHead(200,{"C ...

  5. Appium Java Windows环境搭建篇

    1. 安卓SDK及配置环境变量 1.1.先下载sdk安装包:installer_r24.4.1-windows.exe 下载地址:链接: http://pan.baidu.com/s/1dEyPSa9 ...

  6. js获取浏览器地址

    <script type="text/javascript"> window.onload = function(){ var txt=""; va ...

  7. 服务器控件和 viewstate

    //不会产生处理回发事件的方法.类似客户端html Repeater rep = new Repeater(); DataList dtl = new DataList(); FileUpload f ...

  8. Hadoop 2.0安装以及不停集群加datanode

    Hadoop2.0是对Hadoop1.0全面升级,针对Namenode单点问题,提出了HDFS Federation,让多个NameNode分管不同的目录进而实现访问隔离和横向扩展.诞生了通用的计算框 ...

  9. A hard puzzle

    A hard puzzle Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Tot ...

  10. BZOJ2706 : [SDOI2012]棋盘覆盖

    A类数据: 将棋盘黑白染色,相邻的点之间连边,求出二分图最大匹配即可. B类数据: 答案为$\lfloor\frac{n^2-1}{3}\rfloor$,用FFT加速计算即可,时间复杂度$O(L\lo ...