.Net 使用文件上传控件FileUpload上传图片
1.Default.aspx
<%@ 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>上传图片</title> </head> <body> <form id="form1" runat="server"> <div> <asp:FileUpload ID="FileUpload1" runat="server" /> <asp:Button ID="btnFileUpload" runat="server" Text="上传" onclick="btnFileUpload_Click" /> </div> </form> </body> </html>
2.Default.aspx.cs
using System; using System.Configuration; using System.Data; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void btnFileUpload_Click(object sender, EventArgs e) { Boolean fileOK = false; //获取上传的文件名 string fileName = this.FileUpload1.FileName; //获取物理路径 String path = Server.MapPath("~/Images/"); //判断上传控件是否上传文件 if (FileUpload1.HasFile) { //判断上传文件的扩展名是否为允许的扩展名".gif", ".png", ".jpeg", ".jpg" ,".bmp" String fileExtension = System.IO.Path.GetExtension(fileName).ToLower(); String[] Extensions = { ".gif", ".png", ".jpeg", ".jpg" ,".bmp"}; for (int i = 0; i < Extensions.Length; i++) { if (fileExtension == Extensions[i]) { fileOK = true; } } } //如果上传文件扩展名为允许的扩展名,则将文件保存在服务器上指定的目录中 if (fileOK) { try { this.FileUpload1.PostedFile.SaveAs(path + fileName); MessageBox( "文件上传完毕"); } catch (Exception ex) { MessageBox("文件不能上传,原因:" + ex.Message); } } else { MessageBox( "不能上传这种类型的文件"); } } protected void MessageBox(string str) { Page.ClientScript.RegisterStartupScript(Page.GetType(), "message", "<script language='javascript' defer>alert('"+str+"');</script>"); } }
或
public static bool UpFileFun(FileUpload Controlfile, string[] FileType, int FileSize, string SaveFileName) { string FileDir = Controlfile.PostedFile.FileName; string FileName = FileDir.Substring(FileDir.LastIndexOf("\\") + 1); //获取上传文件名称 string FileNameType = FileDir.Substring(FileDir.LastIndexOf(".") + 1).ToString(); //获取上传文件类型 int FileNameSize = Controlfile.PostedFile.ContentLength; //获取上传文件大小 // 定义上传文件类型,并初始化 string Types = ""; //string strDate = DateTime.Now.ToString();//取当前时间用来修改上传文件名 //string str = strDate.Replace("/", "").Replace(":", "").Replace(" ", ""); //过滤当前时间里的特殊字符,如: - / : , //HttpContext.Current.Response.Write("<hr><br>" + str + "<br><br><br><hr"); string EditFileName = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss fff").Replace(" ", "_").Replace(":", "-") + Guid.NewGuid().ToString(); //string strNewFileName = Guid.NewGuid().ToString(); //HttpContext.Current.Response.Write("<hr><br>" + strNewFileName + "<br><br><br><hr"); try { if (FileNameSize < FileSize) { for (int i = 0; i < FileType.Length; i++) { if (FileNameType == FileType[i]) { Types = FileNameType; } } if (FileNameType == Types) { Controlfile.PostedFile.SaveAs(HttpContext.Current.Server.MapPath(SaveFileName) + "/" + EditFileName + FileName); return true; } else { Jscript.Alert("上传失败!上传文件类型不符合"); return false; } } else { Jscript.Alert("上传失败!上传文件尺寸超出限制"); return false; } } catch { return false; } }