上传文件到服务器

来源:互联网 发布:如何减少网络负面影响 编辑:程序博客网 时间:2024/04/29 07:24
1、上传单个文件到服务器的代码

if(myFile.PostedFile!=null)
{    
 string nam = myFile.PostedFile.FileName ;
 //取得文件名(抱括路径)里最后一个"."的索引
 int i= nam.LastIndexOf(".");
 //取得文件扩展名
 string newext =nam.Substring(i);
 //这里我自动根据日期和文件大小不同为文件命名,确保文件名不重复
 DateTime now = DateTime.Now;
 string newname=now.DayOfYear.ToString()+myFile.PostedFile.ContentLength.ToString();
 //保存文件到你所要的目录,这里是IIS根目录下的upload目录.你可以改变.
 //注意: 我这里用Server.MapPath()取当前文件的绝对目录.在asp.net里"/"必须用"//"代替
 myFile.PostedFile.SaveAs (Server.MapPath ("images/") + newname);
 //得到这个文件的相关属性:文件名,文件类型,文件大小
 fname.Text=myFile.PostedFile.FileName;
 fenc.Text=myFile.PostedFile.ContentType ;
 fsize.Text=myFile.PostedFile.ContentLength.ToString();
}

2、同时上传多个文件到服务器的代码

protected System.Web.UI.WebControls.Button UploadButton;
protected System.Web.UI.WebControls.Label strStatus;

private void Page_Load(object sender, System.EventArgs e)
{
 /// 在此处放置用户代码以初始化页面
 if (this.IsPostBack) this.SaveImages();
}

private Boolean SaveImages()
{
 ///'遍历File表单元素
 HttpFileCollection files  = HttpContext.Current.Request.Files;

 /// '状态信息
 System.Text.StringBuilder strMsg = new System.Text.StringBuilder();
 strMsg.Append("上传的文件分别是:<hr color=red>");
 try
 {
  for(int iFile = 0; iFile < files.Count; iFile++)
  {
   ///'检查文件扩展名字
   HttpPostedFile postedFile = files[iFile];
   string fileName, fileExtension;
   fileName = System.IO.Path.GetFileName(postedFile.FileName);
   if (fileName != "")
   {
    fileExtension = System.IO.Path.GetExtension(fileName);
    strMsg.Append("上传的文件类型:" + postedFile.ContentType.ToString() + "<br>");
    strMsg.Append("客户端文件地址:" + postedFile.FileName + "<br>");
    strMsg.Append("上传文件的文件名:" + fileName + "<br>");
    strMsg.Append("上传文件的扩展名:" + fileExtension + "<br><hr>");
    ///'可根据扩展名字的不同保存到不同的文件夹
    ///注意:可能要修改你的文件夹的匿名写入权限。
    postedFile.SaveAs(System.Web.HttpContext.Current.Request.MapPath("images/") + fileName);
   }
  }
  strStatus.Text = strMsg.ToString();
  return true;
 }
 catch(System.Exception Ex)
 {
  strStatus.Text = Ex.Message;
  return false;
 }
}


<HTML>
 <HEAD>
  <title>多文件上传</title>
  <script language="JavaScript">
    function addFile()
    {
     var str = '<INPUT type="file" size="50" NAME="File">'
     document.getElementById('MyFile').insertAdjacentHTML("beforeEnd",str)
    }
  </script>
 </HEAD>
 <body>
  <form id="form1" method="post" runat="server" enctype="multipart/form-data">
   <div align="center">
    <h3>多文件上传</h3>
    <P id="MyFile"><INPUT type="file" size="50" NAME="File"></P>
    <P>
     <input type="button" value="增加(Add)" onclick="addFile()"> <input onclick="this.form.reset()" type="button" value="重置(ReSet)">
     <asp:Button Runat="server" Text="开始上传" ID="UploadButton"></asp:Button>
    </P>
    <P>
     <asp:Label id="strStatus" runat="server" Font-Names="宋体" Font-Bold="True" Font-Size="9pt" Width="500px"
      BorderStyle="None" BorderColor="White"></asp:Label>
    </P>
   </div>
  </form>
 </body>
</HTML>