2011-05-18 90 views
0

這是我使用的代碼:使用c#在服務器上傳音頻和視頻文件的問題?

if (FileUpload1.HasFile) 
     { 
      try 
      {     
       HttpPostedFile myFile = FileUpload1.PostedFile; 
       string fileExt=System.IO.Path.GetExtension(myFile.FileName); 
       int nFileLen = myFile.ContentLength; 
       if (nFileLen == 0) 
       { 
        lblOutput.Text = "No file was uploaded."; 
        return; 
       } 

       ClientFileName = System.IO.Path.GetFileName(FileUpload1.PostedFile.FileName); 


       if (fileExt.Equals(".jpg") || fileExt.Equals(".gif")) 
       { 
        ServerFileName = System.IO.Path.Combine(ServerSavePathI, ClientFileName); 
        FileUpload1.SaveAs(Server.MapPath(ServerFileName)); 
        lblOutput.Text = "Image uploaded successfully"; 
       } 
       else if(fileExt.Equals(".mp3")) 
       { 
        ServerFileName = System.IO.Path.Combine(ServerSavePathA, ClientFileName); 
        FileUpload1.SaveAs(Server.MapPath(ServerFileName)); 
        lblOutput.Text = "Audio uploaded successfully"; 
       } 
       else if (fileExt.Equals(".mp4")) 
       { 
        ServerFileName = System.IO.Path.Combine(ServerSavePathV, ClientFileName); 
        FileUpload1.SaveAs(Server.MapPath(ServerFileName)); 
        lblOutput.Text = "Video uploaded successfully"; 
       } 

      } 
      catch (Exception ex) 
      { 
       lblOutput.Text = "ERROR: " + ex.Message.ToString(); 
      } 
     } 
     else 
     { 
      lblOutput.Text = "No File is selected to upload"; 
     } 

當我把這個項目類型的網站能正常工作。 但我想要的Web應用程序,但只有圖像上傳不是音頻和視頻。

+0

那麼究竟什麼是失敗?失敗案例中的'fileExt'是什麼? (爲什麼你明確調用Equals而不是使用更易讀的==表單?) – 2011-05-18 11:02:02

+0

你是否得到任何錯誤? – Anuraj 2011-05-18 11:02:32

+0

是的,我得到了最大請求長度的錯誤。只要我增加了它完成的值。 – user755230 2011-05-19 03:23:06

回答

0

也許你正在嘗試上傳大於4MB的文件,這是默認的最大允許大小。您可以在web.config中嘗試增加它:

<system.web> 
<!-- Set the maximum upload file size to 100MB --> 
<httpRuntime executionTimeout="240" maxRequestLength="102400" />