asp.net HTML文件上传标签

微软提供的控件http://www.jb51.net/codes/9709.html
前台
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>html文件上传标签</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<input id="File1" type="file" runat="server" />
<asp:Button ID="btn_up" runat="server" Text="上传" OnClick="btn_up_Click" />
</div>
</form>
</body>
</html>
后台
protected void btn_up_Click(object sender, EventArgs e)
{
string spath = Server.MapPath("~/test/");
string filename = File1.PostedFile.FileName;
int idx = filename.LastIndexOf(@"\");
string shortname = filename.Substring(idx + 1);//获得文件名
this.File1.PostedFile.SaveAs(spath + shortname);
}
end
官方给出的使用方法:
需要在要目录下新建两个目录:upfile和upimg
添加一个FileUpload控件.一个Button.一个Image.一个Label

关键代码:
string name = FileUpload1.FileName;//获得上传文件的名字.
string size = FileUpload1.PostedFile.ContentLength.ToString();//文件大小.
string type = FileUpload1.PostedFile.ContentType;//文件类型.
string type2 = name.Substring(name.LastIndexOf(".") + 1);//LastIndexOf()最后一个索引位置匹配.Substring()里面的+1是重载.
string ipath = Server.MapPath("upimg") + "\\" + name;//取得根目录下面的upimg目录的路径.
string fpath = Server.MapPath("upfile") + "\\" + name;
string wpath = "upimg\\" + name;//获得虚拟路径.
if (type2 == "jpg" || type2 == "gif" || type2 == "bmp" || type2 == "png")
{
FileUpload1.SaveAs(ipath);//保存方法,参数是一个地址字符串.
Image1.ImageUrl = wpath;
Label1.Text = "你传的文件名是:" + name + "<br>文件大小为:" + size + "字节<br>文件类型是:" + type +
"<br>后缀是:" + type2 + "<br>实际路径是:" + ipath + "<br>虚拟路径是:" + fpath;
Image1.Visible = true;
}
else
{
Image1.Visible = false;
FileUpload1.SaveAs(fpath);
Label1.Text = "你传的文件名是:" + name + "<br>文件大小为:" + size + "字节<br>文件类型是:" + type +
"<br>后缀是:" + type2 + "<br>实际路径是:" + ipath + "<br>虚拟路径是:" + fpath;
}

(0)

相关推荐

  • Asp.net动态生成html页面的方法分享

    此功能适用于后台数据库功能不强的web站点,即大部分文本不是存放在数据库的记录中,而是放在html文件或者xml文件中,仅仅把索引放到数据库中,如文章标题.类别.查询关键字等.这样适合于后台没有诸如MS Sql Server这样的数据库支持的Web站点.  适用于新闻发布系统,比如sina.163等都是采用动态生成html页面的.     适用于需动态定制页面的程序.比如论坛.聊天室等.可以加载定制好的html页面,来加强美观.     思路     1. 利用如Dw-Mx这样的工具生成html

  • asp.net(C#) 动态添加非ASP的标准html控件(如添加Script标签)

    复制代码 代码如下: HtmlGenericControl Include2 = new HtmlGenericControl("script"); Include2.Attributes.Add("type", "text/javascript"); Include2.InnerHtml = "alert('JavaScript in Page Header');"; this.Page.Header.Controls.Ad

  • ASP.NET对HTML页面元素进行权限控制(二)

    这是这个权限控制的第一步,扫描界面把要分配权限的元素的信息获取出来存入到数据库中. 这一步分三小步: (1).标出界面所要分配权限的元素 (2).扫描界面获取所要分配权限的元素信息.(ID,标题,层级关系) (3).存入数据库中. 1.标出界面所要分配权限的元素. 在扫描的时候一开始我觉得很难因为HTML元素过多又有很多层级关系.一开始用的是<div>标签来表示HTML所要分配权限的元素,发现这个方案不行,比如把添加用户按钮加上DIV那么这个按钮的样式就变了还得调样式我现在做的KS系统有将近1

  • Asp.net 动态加载用户自定义控件,并转换成HTML代码

    如果页面单纯的使用js来创建,要写大量的代码,而且不直观. 在asp.net中,其实我们可以创建用户自定义控件,通过Ajax请求返回用户自定义控件HTML代码. 复制代码 代码如下: public static string RangerUsControl(string controlName) { StringBuilder build = new StringBuilder(); HtmlTextWriter htmlWriter = new HtmlTextWriter(new Strin

  • ASP.NET对HTML页面元素进行权限控制(一)

    一个HTML页面有很多的元素比如<DIV>,<P>等.这些元素构成了HTML页面.在Web开发中权限控制是每个系统都要用到了.界面每个元素的权限也是需要控制的.比如一个查询用户的界面里面有查询用户按钮,添加用户按钮,删除用户按钮,不同的角色我们得分配不同的权限,比如一般用户只有查询用户按钮的权限:管理员有添加用户按钮,查询用户按钮的权限:超级管理员查询用户按钮,添加用户按钮,删除用户按钮的权限.如何让这三种用户在登录以后得到三种不同的界面形式呢?这时候就需要用到HTML元素进行权限

  • 利用ASP.NET技术动态生成HTML页面

    思路 1. 利用如Dw-Mx这样的工具生成html格式的模板,在需要添加格式的地方加入特殊标记(如$htmlformat$),动态生成文件时利用代码读取此模板,然后获得前台输入的内容,添加到此模板的标记位置中,生成新文件名后写入磁盘,写入后再向数据库中写入相关数据. 2. 使用后台代码硬编码Html文件,可以使用HtmlTextWriter类来写html文件. 优点 1. 可以建立非常复杂的页面,利用包含js文件的方法,在js文件内加入document.write()方法可以在所有页面内加入如页

  • asp.net替换和恢复html特殊字符

    /// <summary> /// 替换html中的特殊字符 /// </summary> /// <param name="theString">需要进行替换的文本.</param> /// <returns>替换完的文本.</returns> public string HtmlEncode(string theString) {      theString=theString.Replace("&

  • ASP.NET对HTML页面元素进行权限控制(三)

    上一篇博客中有些没有考虑到的东西这次更改一下代码如下: 界面前台: 复制代码 代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="AdmShowDIV.aspx.cs" Inherits="ExamSystemV3.Manager.RoleManager.AdmShowDIV" %> <!DOCTYPE html> <ht

  • ASP.NET动态增加HTML元素的方法实例小结

    本文实例讲述了ASP.NET动态增加HTML元素的方法.分享给大家供大家参考,具体如下: 在使用asp.net进行web开发的时候页面中的<head></head>中的信息可以通过asp.net的cs文件动态指定. 1.动态增加样式表 /*动态增加样式表*/ HtmlLink link = new HtmlLink(); link.Attributes.Add("type", "text/css"); link.Attributes.Add(

  • asp.net正则表达式删除指定的HTML标签的代码

    如果全盘删除里面的 HTML 标签,可能会造成阅读上的困难(比如 a, img 这些标签), 最好是删除一部分,保留一部分. 正则表达式里,判断 包含某些字符串 是非常容易理解的,但是如何判断 不包含某些字符串 (是字符串,不是字符,是某些,不是某个) 确实是个费解的事. 复制代码 代码如下: <(?!((/?\s?li)|(/?\s?ul)|(/?\s?a)|(/?\s?img)|(/?\s?br)|(/?\s?span)|(/?\s?b)))[^>]+> 这个正则是判断HTML标签不

  • ASP.NET 页面刷新的实现方法(包括html,js)

    先看看ASP.NET页面刷新的实现方法: 第一: C# code private void Button1_Click( object sender, System.EventArgs e ) { Response.Redirect( Request.Url.ToString( ) ); } 第二: C# code private void Button2_Click( object sender, System.EventArgs e ) { Response.Write( " < sc

  • asp.net 图片验证码的HtmlHelper

    一个图片验证码的HtmlHelper,原来的调用代码如下: 复制代码 代码如下: <img id="validateCode" mailto:src='@Url.Action(%22GetValidateCode%22)'/> <script language="javascript" type="text/javascript"> $(document).ready(function () { $("#vali

  • asp.net下URL网址重写成.html格式、RSS、OPML的知识总结

    一.URL网址重写1.在MSDN中下载一个文件,将ActionlessForm.dll和URLRewriter.dll放到bin目录下.这是MSDN中关于URL重写的一篇文章里的地址.在 ASP.NET 中执行 URL 重写2.将web.config文件中添加下面的代码 <!-- 自定义配置节 --> <configSections>    <section name="RewriterConfig" type="URLRewriter.Conf

随机推荐