¡¡¡¡Ó¦ÓóÌÐòÖо­³£ÐèÒªÔÊÐíÓû§°ÑÎļþÉÏ´«µ½web·þÎñÆ÷¡£¾¡¹ÜÔÚASP.NET 1.XÒ²¿ÉÒÔÍê³É¸Ã¹¦ÄÜ£¬µ«ÔÚASP.NET 2.0ÖÐʹÓÃFileUpload¿Ø¼þ»á¸ü¼òµ¥¡£

¡¡¡¡¸Ã¿Ø¼þÈÃÓû§¸üÈÝÒ×µØä¯ÀÀºÍÑ¡ÔñÓÃÓÚÉÏ´«µÄÎļþ£¬Ëü°üº¬Ò»¸öä¯ÀÀ°´Å¥ºÍÓÃÓÚÊäÈëÎļþÃûµÄÎı¾¿ò¡£Ö»ÒªÓû§ÔÚÎı¾¿òÖÐÊäÈëÁËÍêÈ«ÏÞ¶¨µÄÎļþÃû£¬ÎÞÂÛÊÇÖ±½ÓÊäÈë»òͨ¹ýä¯ÀÀ°´Å¥Ñ¡Ôñ£¬¶¼¿ÉÒÔµ÷ÓÃFileUploadµÄSaveAs·½·¨±£´æµ½´ÅÅÌÉÏ¡£

¡¡¡¡³ýÁË´ÓWebControlÀà¼Ì³ÐµÄ±ê×¼³ÉÔ±£¬FileUpload¿Ø¼þ»¹¹«¿ªÁ˼¸¸öÖ»¶ÁµÄÊôÐÔ£¬ÔÚ±í5-8ºÍ±í5-9Áгö¡£

¡¡¡¡±í5-8 FileUpload¿Ø¼þÊôÐÔ

Ãû  ³Æ ÀàÐÍ ¶Á д ˵  Ã÷
FileContent Stream ¡Á ·µ»ØÒ»¸öÖ¸ÏòÉÏ´«ÎļþµÄÁ÷¶ÔÏó
FileName string ¡Á ·µ»ØÒªÉÏ´«ÎļþµÄÃû³Æ£¬²»°üº¬Â·¾¶ÐÅÏ¢
HasFile Boolean ¡Á Èç¹ûÊÇtrue£¬Ôò±íʾ¸Ã¿Ø¼þÓÐÎļþÒªÉÏ´«
PostedFile HttpPostedFile ¡Á ·µ»ØÒѾ­ÉÏ´«ÎļþµÄÒýÓᣱí5-9ÁгöÁËËüËù¹«¿ªµÄÖ»¶ÁÊôÐÔ

¡¡¡¡±í5-9 HttpPostedFileÊôÐÔ

Ãû  ³Æ Àà  ÐÍ ¶Á д ˵  Ã÷
ContentLength integer ¡Á ·µ»ØÉÏ´«ÎļþµÄ°´×Ö½Ú±íʾµÄÎļþ´óС
ContentType string ¡Á ·µ»ØÉÏ´«ÎļþµÄMIMEÄÚÈÝÀàÐÍ
FileName string ¡Á ·µ»ØÎļþÔÚ¿Í»§¶ËµÄÍêÈ«ÏÞ¶¨Ãû
InputStream Stream ¡Á ·µ»ØÒ»¸öÖ¸ÏòÉÏ´«ÎļþµÄÁ÷¶ÔÏó

¡¡¡¡ËùÓÐÕâЩÊôÐÔ½«ÔÚÏÂÃæµÄʾÀýÖÐ˵Ã÷¡£

¡¡¡¡ÎªÁ˲鿴FileUpload¿Ø¼þÔÚʵ¼ÊÖеÄÔËÓ㬴´½¨Ò»¸öFileUploadDemoÍøÕ¾¡£ÔÚÒ³ÃæÉÏÌí¼ÓÒ»¸öFileUpload¿Ø¼þ£¬È»ºó£¬Ìí¼ÓÁ½¸öASP.NET°´Å¥£¬TextÊôÐÔ·Ö±ðÉèÖÃΪSaveºÍDisplay£¬ID·Ö±ðÉèÖÃΪbtnSaveºÍbtnDisplay¡£Ôö¼ÓÁ½¸öLabel¿Ø¼þ£¬²¢·Ö±ð½«IDÉèÖÃΪlblMesageºÍlblDisplay¡£Óã¼br/£¾HTMLÔªËØ·Ö¸ôÕâЩ¿Ø¼þ¡£Çл»µ½Éè¼ÆÊÓͼ£¬Í¨¹ýË«»÷ÿ¸ö°´Å¥£¬ÎªËüÃÇÔÚ´úÂëÒþ²ØÎļþÖд´½¨¾ßÓÐĬÈÏÃû³ÆµÄClickʼþ´¦Àí³ÌÐò¡£Íê³ÉºóµÄÄÚÈÝÎļþÀàËÆÓÚʾÀý5-11¡£

¡¡¡¡Ê¾Àý5-11£ºFileUploadDemoÍøÕ¾µÄdefault.aspx

£¼%@ Page Language=¡±C#¡± AutoEventWireup=¡±true¡± CodeFile=¡±Default.aspx.cs¡± Inherits=¡±_Default¡± %£¾
£¼!DOCTYPE html PUBLIC ¡°-//W3C//DTD XHTML 1.1//EN¡± ¡°http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd¡±£¾
£¼html xmlns=¡±http://www.w3.org/1999/xhtml¡± £¾
£¼head runat=¡±server¡±£¾
¡¡£¼title£¾FileUpload Control£¼/title£¾
£¼/head£¾

£¼body£¾
¡¡£¼form id=¡±form1¡± runat=¡±server¡±£¾
¡¡£¼div£¾
¡¡¡¡£¼h1£¾FileUpload Control£¼/h1£¾
¡¡¡¡£¼asp:FileUpload ID=¡±FileUpload1¡± runat=¡±server¡± /£¾
¡¡¡¡£¼br /£¾
¡¡¡¡£¼asp:Button ID=¡±btnSave¡± runat=¡±server¡± Text=¡±Save¡± OnClick=¡±btnSave_Click¡± /£¾
¡¡¡¡£¼asp:Button ID=¡±btnDisplay¡± runat=¡±server¡± Text=¡±Display¡± OnClick=¡±btnDisplay_Click¡± /£¾
¡¡¡¡£¼br /£¾
¡¡¡¡£¼br /£¾
¡¡¡¡£¼asp:Label ID=¡±lblMessage¡± runat=¡±server¡± /£¾
¡¡¡¡£¼asp:Label ID=¡±lblDisplay¡± runat=¡±server¡± /£¾
¡¡£¼/div£¾
¡¡£¼/form£¾
£¼/body£¾
£¼/html£¾

¡¡¡¡ÔÚ´úÂëÒþ²ØÎļþÖУ¬Ìí¼ÓʾÀý5-12ÖиßÁÁÏÔʾµÄ´úÂ룬·Ç¸ßÁÁÏÔʾµÄ´úÂëÓÉVS2005×Ô¶¯´´½¨¡£

¡¡¡¡Ê¾Àý5-12£ºFileUploadDemoÍøÕ¾µÄDefault.aspx.cs

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.IO; // ʹÓÃStream±ØÐè

public partial class _Default : System.Web.UI.Page
{
¡¡protected void Page_Load(object sender, EventArgs e)
¡¡{}
¡¡protected void btnSave_Click(object sender, EventArgs e)
¡¡{
¡¡¡¡string str = ¡°¡±;
¡¡¡¡if (FileUpload1.HasFile)
¡¡¡¡{
¡¡¡¡¡¡try
¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡str += ¡°Uploading file: ¡° + FileUpload1.FileName;
¡¡¡¡¡¡¡¡// ±£´æÎļþ
¡¡¡¡¡¡¡¡FileUpload1.SaveAs(¡°c://websites//uploads//¡± + FileUpload1.FileName);
¡¡¡¡¡¡¡¡// ÏÔʾÎļþÐÅÏ¢
¡¡¡¡¡¡¡¡str += ¡°£¼br/£¾Saved As: ¡° + FileUpload1.PostedFile.FileName;
¡¡¡¡¡¡¡¡str += ¡°£¼br/£¾File Type: ¡° + FileUpload1.PostedFile.ContentType;
¡¡¡¡¡¡¡¡str += ¡°£¼br/£¾File Length (bytes): ¡° + FileUpload1.PostedFile.ContentLength;
¡¡¡¡¡¡¡¡str += ¡°£¼br/£¾PostedFile File Name: ¡° + FileUpload1.PostedFile.FileName;
¡¡¡¡¡¡}
¡¡¡¡¡¡catch (Exception ex)
¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡str += ¡°£¼br/£¾£¼b£¾Error£¼/b£¾£¼br/£¾Unable to save
c://websites//uploads//¡± + FileUpload1.FileName +¡°£¼br/£¾¡± + ex.Message;
¡¡¡¡¡¡}
¡¡¡¡}
¡¡¡¡else
¡¡¡¡{
¡¡¡¡¡¡str = ¡°No file uploaded.¡±;
¡¡¡¡}
¡¡¡¡lblMessage.Text = str;
¡¡¡¡lblDisplay.Text = ¡°¡±;
¡¡}

¡¡protected void btnDisplay_Click(object sender, EventArgs e)
¡¡{
¡¡¡¡string str = ¡°£¼u£¾File: ¡° + FileUpload1.FileName + ¡°£¼/u£¾£¼br/£¾¡±;
¡¡¡¡if (FileUpload1.HasFile)
¡¡¡¡{
¡¡¡¡¡¡try
¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡Stream stream = FileUpload1.FileContent;
¡¡¡¡¡¡¡¡StreamReader reader = new StreamReader(stream);
¡¡¡¡¡¡¡¡string strLine = ¡°¡±;
¡¡¡¡¡¡¡¡do
¡¡¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡¡¡strLine = reader.ReadLine( );
¡¡¡¡¡¡¡¡¡¡str += strLine;
¡¡¡¡¡¡¡¡} while (strLine != null);
¡¡¡¡¡¡}
¡¡¡¡¡¡catch (Exception ex)
¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡str += ¡°£¼br/£¾£¼b£¾Error£¼/b£¾£¼br/£¾Unable to display ¡° + FileUpload1.FileName +
¡°£¼br/£¾¡± + ex.Message;
¡¡¡¡¡¡}
¡¡¡¡}
¡¡¡¡else
¡¡¡¡{
¡¡¡¡¡¡str = ¡°No file uploaded.¡±;
¡¡¡¡}
¡¡¡¡lblDisplay.Text = str;
¡¡¡¡lblMessage.Text = ¡°¡±;
¡¡}
}

¡¡¡¡¸ßÁÁÏÔʾµÄusingÉùÃ÷¶ÔÓÚ²»Ê¹ÓÃÍêÈ«ÏÞ¶¨ÃüÃû¿Õ¼ä£¬¶øÊ¹ÓÃStream¶ÔÏóÊDZØÐëµÄ¡£

¡¡¡¡ÔÚSave°´Å¥µÄbtnSave_Clickʼþ´¦Àí³ÌÐòÖУ¬FileUpload¿Ø¼þµÄHasFileÊôÐÔÓÃÓÚ¼ì²âÎı¾¿òÖÐÊÇ·ñÊäÈëÁËÓÐЧµÄÍêÈ«ÏÞ¶¨ÎļþÃû¡£Èç¹ûÎı¾¿òΪ¿Õ»òÊäÈëµÄÃû³ÆÎÞЧ£¬½«²»»áͨ¹ý¼ì²â£¬²¢ÇÒlblMessage½«ÏÔʾ¡°No file upladed¡±¡£

¡¡¡¡¼Ù¶¨ÉÏ´«ÁËÒ»¸öÓÐЧÎļþ£¬ÄÇô½«Ö´ÐÐtry´úÂë¿éÖеĴúÂë¡£¹Ø¼üÓï¾äÊǵ÷ÓÃFile- Upload¿Ø¼þµÄSaveAs·½·¨¡£¸Ã·½·¨Ê¹ÓÃÓ²±àÂë·¾¶ºÍFileNameÊôÐÔ´«µÝÒ»¸öÍêÈ«ÏÞ¶¨µÄÎļþÃû¡£¸ÃÓï¾ä¿ÉÄÜ»áÓÉÓÚ¸÷ÖÖÔ­Òò¶øÊ§°Ü£¬°üÀ¨´ÅÅ̿ռ䲻×ã¡¢ÎÞЧµÄ·¾¶»ò°²È«ÎÊÌ⣨ÉÔºó»áÓиüÏêϸµÄ˵Ã÷£©¡£

¡¡¡¡Èç¹ûSaveAs·½·¨Ê§°Ü£¬ÔòÖ´ÐÐcatch´úÂë¿é¡£ÔÚlblMessageÖÐÏÔʾһ¸ö´íÎóÐÅÏ¢£¬°üÀ¨¸ÃÒì³£µÄMessageÊôÐÔex.Message¡£

¡¡¡¡Èç¹ûSaveAs·½·¨Ö´Ðгɹ¦£¬¹ØÓÚÉÏ´«ÎļþµÄ¶à¸öÐÅÏ¢½«ÏÔʾÔÚlblMessageÖУ¬ÕâЩÐÅϢͨ¹ýFileUpload.PostedFile£¨ÀàÐÍΪHttpPostedFile£©ÖеÄÊôÐÔ»ñÈ¡¡£

¡¡¡¡Display°´Å¥µÄClickʼþ´¦Àí³ÌÐòÓëÇ°ÃæµÄÀàËÆ£¬Ö»²»¹ýËü²»ÊÇÏÔʾÎļþÐÅÏ¢£¬¶øÊÇÏÔʾÎļþÄÚÈÝ¡£Ëüͨ¹ýʹÓÃFileContentÊôÐÔ»ñÈ¡±íÏÖΪStream¶ÔÏóµÄÉÏ´«ÎļþµÄÄÚÈÝ£¬È»ºóÕâ¸öStream¶ÔÏó±»ÓÃÓÚʵÀý»¯Ò»¸öStreamReader¶ÔÏó¡£StreamReaderµÄRead- Line·½·¨ÖðÐеıéÀúÎļþ£¬È»ºó°ÑºÏ²¢ºóµÄ×Ö·û´®ÏÔʾÔÚlblDisplayÖС£

¡¡¡¡µ±ÔÚÌÖÂÛ´Ó¿Í»§¶ËÉÏ´«Îļþµ½web·þÎñÆ÷ʱ£¬°²È«ÊǷdz£ÈÃÈ˹Ø×¢µÄ¡£Ðë×¢ÒâÁ½µã£¬Ê×ÏÈ£¬Ê¹ÓÃÕâÖÖ·½Ê½»á¹«¿ªweb·þÎñÆ÷£¬´Ó¶ø»áÓзdz£´óµÄ°²È«Â©¶´£¬Îª´ËÒªÌØ±ðϸÐÄ¡£ÒòΪÕâÑù²»½ö¿ÉÒÔÉÏ´«²¡¶¾£¬Ä¾ÂíºÍÆäËû¶ñÒâÈí¼þ£¬»¹»á´æÔÚ¿Í»§¶Ëä¯ÀÀweb·þÎñÆ÷Ä¿

¡¡¡¡Â¼½á¹¹µÄΣÏÕ¡£Òò´Ë£¬Ó¦¸ÃʹÓÃÓ²±àÂëÄ¿±êĿ¼£¬ÖÁÉÙÑϸñÏÞ¶¨ÔÚÄÄÀï±£´æÉÏ´«µÄÎļþ¡£

¡¡¡¡ÁíÍ⣬ҪעÒâµÄÒ»µãÊÇ£¬ÔÊÐíÔÚ´ÅÅÌдÎļþËù±ØÐèµÄȨÏÞ¡£ÔÚ¿ª·¢webÓ¦ÓóÌÐòʱ£¬Ò»°ãÇé¿öÏ£¬¿ª·¢»úÆ÷ͬʱҲÊÇweb·þÎñÆ÷£¬ÌرðÊÇʹÓÃVS2005ĬÈϵĿª·¢Ä£Ê½¡£ÔÚ¸ÃģʽÏÂʹÓõÄÊÇÄÚÖõÄweb·þÎñÆ÷£¬²¢ÇÒ²»Í¨¹ýIIS·ÃÎÊÍøÕ¾¶øÊÇÓÉÎļþϵͳ·ÃÎÊÍøÕ¾¡£ÕâÑù£¬ÓÀÔ¶Ò²²»»áÓÐȨÏÞÎÊÌâ¡£

¡¡¡¡È»¶ø£¬µ±ÍøÕ¾²¿Êðµ½²úÆ··þÎñÆ÷ÉÏ£¬ÇÒ¸ÃÍøÕ¾Í¨¹ýIISºÍÐéÄâĿ¼À´·ÃÎÊʱ£¬¾Í»á³öÏÖÎÊÌâ¡£ÕâÊÇÒòΪÔËÐÐASP.NETµÄÕË»§±ØÐëÓµÓжÔÓÃÓÚ±£´æÉÏ´«ÎļþµÄĿ¼µÄдȨÏÞ¡£ÔÚWindows2000/XPÖУ¬ÕË»§µÄÃû³ÆÊÇASPNET¡£ÔÚWindows Server2003ÖУ¬Ð´È¨ÏÞ±ØÐë·ÖÅ䏸IIS_WPGÕË»§×é¡£

¡¡¡¡ÀûÓÃFileUpload¿Ø¼þ²¢½áºÏÁ¼ºÃµÄ°²È«·À»¤£¬Óû§¿ÉÒÔ°Ñ×Ô¼ºµÄÎļþ´«Ë͵½ÍøÕ¾£¬ÒÔ·á¸»ÍøÕ¾¹¦ÄÜ¡£