1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

file upload em asp.net e c#

Discussão em 'Web Development' iniciada por alfinete, 16 de Janeiro de 2008. (Respostas: 3; Visualizações: 2269)

  1. alfinete

    alfinete Power Member

    tenho estes dois metodos para upload de ficheiros

    Código:
    
     private bool upLoad()
            {
    
                bool resul = true;
    
                //***** temporariamente inibido
    
                string base_path_dir;
                //string  base_path_dir2;
                //*****
    
                HttpPostedFile httppf_decisoes = null;
               // HttpPostedFile httppf_decisoes2;
    
                int nFileLen;
    
                //, nFileLen2
    
                byte[] myData;
                //,myData2
    
                //  procura o caminho de onde esta a aplicação
    
                //string caminho = Server.MapPath("~/");
    
                //***** Directório base
                           
                base_path_dir = @"" + upload;
               //base_path_dir2 = @"" + upload2;
    
                //***** UpLoad file - 
                try 
                {
                    httppf_decisoes = Fudocumento.PostedFile;
                }
                catch (Exception ex)
                {
                    int a = 0;
                }
                
               //httppf_decisoes2 = Fudocumento.PostedFile;
    
                string strFilename_pro = base_path_dir + @"\" + Path.GetFileName(Fudocumento.PostedFile.FileName);
              //string strFilename_pro2 = base_path_dir2 + @"\" + Path.GetFileName(Fudocumento.PostedFile.FileName);
    
                nFileLen = httppf_decisoes.ContentLength;
              //nFileLen2 = httppf_decisoes2.ContentLength;
    
                myData = new byte[nFileLen];
                //myData2 = new byte[nFileLen2];
    
                httppf_decisoes.InputStream.Read(myData, 0, nFileLen);
               // httppf_decisoes2.InputStream.Read(myData2, 0, nFileLen2);
    
                grava_upLoad(strFilename_pro, myData);
              //  grava_upLoad(strFilename_pro2, myData2);
    
                return resul;
    
            }
    
            private bool grava_upLoad(string strPath, byte[] Buffer)
            {
    
                
    
                FileStream newFile;
    
                bool resul = true;
    
    
    
                // Create a file
    
                newFile = new FileStream(strPath, FileMode.Create);
                //buff = Buffer.Length;  
                // Write data to the file
                //if (buff <= 3900000)
                //{
                newFile.Write(Buffer, 0, Buffer.Length);
    
                    // Close file
    
                    newFile.Close();  
    
                    
                //}
                //if (buff > 3900000)
                //{
                    resul = false;
                    Lbldoc.Text = "Tamanho de Ficheiro inválido, Maximo 3,9 megas ";
                //}
              
                return resul;
            }
    
    mas com ficheiros um pouco maiores que 4 megas da o erro que se segue

    [​IMG]

    gostava de um help
     
  2. alfinete

    alfinete Power Member

    assim resolve o prob , pondo este code o web.config logo a baixo do <systemweb>

    Código:
    <httpRuntime 
       executionTimeout="480"
       maxRequestLength="20000"
       />
    mas files para la dos 20 mgs da o mesmo erro, pois eu escolhi 20000
     
  3. alfinete

    alfinete Power Member

    gostava de uma ajuda para este caso para controlar por code c# o maximo de tamanho que configurei no webconfig.

    poix ele quando passa o limite que configurei no webconfig ele da o erro que a foto do primeira msg deste topico nos mostra

    agradecia
     
  4. alfinete

    alfinete Power Member

    na zona onde esta a chamar o upload ,

    fiz assim

    o tamanho guarda o valor maximo primitido atraves do web config

    Código:
    <add key="tamanhofile" value="20480000" />
    
    no a file onde fasso o upload ponho assim a chamar

    Código:
     private string tamanho = ConfigurationManager.AppSettings.Get("tamanhofile") ;
    

    quando fasso o upload faso como a baixo
    Código:
    
      if (this.Fudocumento.PostedFile.ContentLength < Convert.ToInt32 ( tamanho) )
                                {
                                grava_registo_processos();
                                upLoad();
                                this.lblteste.Text = "Registo gravado com sucesso";
                                }
                                else
                                Lbldoc.Text = "tamanho maximo do arquivo 20 mgs"; 
    
    quando ponho um arquivo menor que o valor , passa bem no if fazendo o upload, caso o valor seja maior , da o erro da imagem ja postada, não percebo pq

    gostava de uma ajuda
     
    Última edição: 18 de Janeiro de 2008

Partilhar esta Página