2013-11-28 69 views
1

我想從一個頁面上傳文件到另一個頁面,然後保存到我的在線服務器。如何從一個頁面上傳文件到另一個頁面在asp.net?

我的代碼是

第一頁:

<html> 
<body> 
<form action="http://localhost:3132/Sample/api/Test.aspx?frm=31" method="post" target="_blank"> 
    Name: <input type="text" name="f1" id="f1"><br> 
    Email: <input type="text" name="email" id="email"><br> 
    FileName: <input type="file" name="file" id="file"><br> 
    <input type="submit" value="Submit"> 
</form> 
</body> 
</html> 

第二頁:Entries.aspx

<script runat="server"> 

    protected void Page_Load(object sender, EventArgs e) 
    { 
     System.Data.DataTable dtData=new System.Data.DataTable(); 

     foreach (string strKey in Request.Form.AllKeys) 
     { 
      if(strKey.Equals("data.xml") || dtData.Columns.Contains(strKey)) 
       continue; 
      dtData.Columns.Add(strKey); 

      System.Data.DataRow dr=dtData.NewRow(); 
      if(dtData.Rows.Count>0) 
       dr=dtData.Rows[0]; 
      dr[strKey]=Request.Form[strKey]; 
      if(dtData.Rows.Count<1) 
       dtData.Rows.Add(dr); 
     } 

     string strFileName = string.Empty; 
     string newFilename = string.Empty; 
     string fileName = System.IO.Path.Combine(Server.MapPath("~/APIUploaded"),  Request.Params["filename"].ToString()); 
     newFilename = Guid.NewGuid().ToString(); 
     System.IO.FileInfo fInfo = new System.IO.FileInfo(fileName); 
     newFilename = string.Format("{0}{1}", newFilename, fInfo.Extension); 
     strFileName = System.IO.Path.Combine(Server.MapPath("~/APIUploaded"), newFilename); 
     using (System.IO.FileStream fileStream = System.IO.File.Create(strFileName)) 
      { 
      /*Getting stream from the Request object.*/ 
      using (System.IO.Stream stream = Request.InputStream) 
      { 
       int byteStreamLength = (int)stream.Length; 
       byte[] byteStream = new byte[byteStreamLength]; 
       /*Reading the stream to a byte array.*/ 
       stream.Read(byteStream, 0, byteStreamLength); 
       /*Writing the byte array to the harddisk.*/ 
       fileStream.Write(byteStream, 0, byteStreamLength); 
      } 

    } 

通過我得到的表單值與上傳文件第二頁名稱。當我要保存到我的Online服務器文件夾時,文件內容爲空。這是可能通過在asp.net中使用文件上傳控制從一個頁面上傳文件到另一個頁面?

+0

你不會被上傳一個丟失了'加密類型的任何文件'在那個形式上。 –

+0

@馬克B,非常感謝。我更正了我的表單標記。它正在工作。 – RGS

回答

相關問題