none
Gravar arquivo em memória, depois enviar para o servidor RRS feed

  • Pergunta

  • Bom dia. Pessoal, estou com um problema em minha aplicação.

    Tenho um fileupload na aplicação que salva os arquivos em um arrayList e mantem eles ali até que eu possa realizar a gravação no servidor.

    Por quê eu preciso salvar no arrayList para depois gravar no servidor?

    Preciso fazer isso porque enquanto eu não terminar de preencher todas as informações do pedido de compras que a aplicação cria eu não tenho um código para o pedido e preciso do código para diferenciar o arquivo dentro da pasta do servidor.

    O que está acontecendo é que quando eu gravo o arquivo dentro do servidor ele está gravando com 0kb.

    Alguém sabe o que pode estar acontecendo?

    Segue o código da aplicação:

    Grava arquivos no servidor

    protected void gravarArquivo(string pim_num)
        {
            var caminho = Server.MapPath("~/agenda/orcamentos/");
    
    
            foreach (FileUpload iFile in arrArquivosorc)
            {
                try
                {
                    if (iFile.HasFile)
                    {
                        var fileName = Path.GetFileNameWithoutExtension(iFile.FileName);
                        string extension = Path.GetExtension(iFile.FileName);
                        var arquivo = ModificaNomeDoArquivo(fileName) + "_" + BuscaSequenciaOrcamento();
                        System.Threading.Thread.Sleep(2000);
                        iFile.SaveAs(caminho + arquivo);
                        File.Move(caminho + arquivo, caminho + pim_num + "_" + arquivo + extension);
                    }
                }
                catch
                { }
            }
          
            lbx_arqorc.Items.Clear();
            lbx_orc.Items.Clear();
            arrArquivosorc.Clear();
    
           
        }

    Grava arquivos no arraylist

     protected   void preenche_gridOrc(String tipo)
        {
         
                var fileName = Path.GetFileNameWithoutExtension(fu_arqorc.FileName);
                string extension = Path.GetExtension(fu_arqorc.FileName);
                lbx_orc.Items.Add(ModificaNomeDoArquivo(fileName) + "_" + BuscaSequenciaOrcamento() + extension);
                lbx_arqorc.Items.Add(fu_arqorc.PostedFile.FileName);
                arrArquivosorc.Add(fu_arqorc);
            
    }

    sexta-feira, 29 de novembro de 2013 12:57

Todas as Respostas

  • Ninguém tem ideia do que pode ser?
    sexta-feira, 29 de novembro de 2013 17:46
  • Como você ta gravando esse arquivo: arrArquivosord ??? 

    !!!

    Você fez mais ou menos assim:

    protected void Button1_Click(object sender, EventArgs e)
    {
    	if (FileUpload1.HasFile)
    	{
    		if (Session["Fotos"] == null)
    		{
    			Session.Add("Fotos", new List<FileUpload>());
    		}
    		List<FileUpload> Fotos = Session["Fotos"] as List<FileUpload>;
    		Fotos.Add(FileUpload1);
    		Session["Fotos"] = Fotos;
    	}
    }
    
    protected void Button2_Click(object sender, EventArgs e)
    {
    	if (Session["Fotos"] != null)
    	{
    		List<FileUpload> Fotos = Session["Fotos"] as List<FileUpload>;
    		foreach(FileUpload file in Fotos)
    		{
    			file.SaveAs(Server.MapPath(".") + "/fotos/" +  file.FileName);
    		}
    	}
    }

    Button1 - Insere

    Button2 - Gravar Fotos finalizando!!!

    Exemplos mas, testando e funcional!


    Fulvio Cezar Canducci Dias

    sexta-feira, 29 de novembro de 2013 23:43