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; } |