none
selecionar arquivo txt RRS feed

  • Pergunta

  • possuo um arquivo txt qu pode estar em qualquer diretório da rede. preciso selecionar esse arquivo para depois começar a ler seu conteúdo.
    estou usando o fileupload. porém, não consigo pegá-lo para ler.

    como posso fazer?

    segunda-feira, 13 de agosto de 2012 20:06

Respostas

Todas as Respostas

  • Utilize o namespace System.IO;

    Referências:

    http://msdn.microsoft.com/en-us/library/system.io.file.aspx

    http://www.mikesdotnetting.com/Article/52/Basic-file-management-with-System.IO-in-ASP.NET


    Rafael Santos

    Observações:
    1. Selecione a opção "Habilitar o Live Alerts por Padrão" nas suas configurações para que possa acompanhar em tempo real as atividades relacionadas a sua Thread;
    2. Não abandone sua Thread. Ao perguntar, fique atento às respostas; ao encontrar uma solução, compartilhe;
    3. As pessoas que dedicam seu tempo na busca por soluções para você não ganham nada em troca. Valorize-as e em forma de agradecimento pontue as respostas corretas.

    "Quem disse que não escrevo poesias? A diferença é que as minhas começam com using System;"

    segunda-feira, 13 de agosto de 2012 20:21
  • rafa, m eu problema não é ler o arquivo e sim selecionar. Estou usando o objeto FileUpload para primeiro selecionar o arquivo. Aí faço o seguinte:

    txtValor.Text = upload.FileName

    porém, no meu campo texto vai vazio. não tenho o nome do arquivo e nem mesmo o diretório.

    Obs: primeiro preciso selecionar e depois lê-lo.

    segunda-feira, 13 de agosto de 2012 20:31
  • Vc vai precisar de duas coisas. O controle FileUpload, que vc já está usando e um Button.

    Button:

    <asp:Button id="UploadButton" 
                Text="Upload file"
                OnClick="UploadButton_Click"
                runat="server">
    </asp:Button>   


    Como você pode ver, quando você clicar nele irá chamar um método. É através desse método que você recupera os arquivos postados no servidor. O FileUpload trabalha com a classe HttpPostedFile e HttpFilesColection. São classes que recuperam um arquivo e uma coleção de arquivos enviados ao servidor através de um submit, independente de onde venha a ação.

    Continuação:

    protected void UploadButton_Click(object sender, EventArgs e)
        {
            // Save the uploaded file to an "Uploads" directory
            // that already exists in the file system of the 
            // currently executing ASP.NET application.  
            // Creating an "Uploads" directory isolates uploaded 
            // files in a separate directory. This helps prevent
            // users from overwriting existing application files by
            // uploading files with names like "Web.config".
            string saveDir = @"\Uploads";
    
            // Get the physical file system path for the currently
            // executing application.
            string appPath = Request.PhysicalApplicationPath;
    
            // Before attempting to save the file, verify
            // that the FileUpload control contains a file.
            if (FileUpload1.HasFile)
            {
                string savePath = appPath + saveDir +
                    Server.HtmlEncode(FileUpload1.FileName);
    
                // Call the SaveAs method to save the 
                // uploaded file to the specified path.
                // This example does not perform all
                // the necessary error checking.               
                // If a file with the same name
                // already exists in the specified path,  
                // the uploaded file overwrites it.
                FileUpload1.SaveAs(savePath);
    
                // Notify the user that the file was uploaded successfully.
                UploadStatusLabel.Text = "Your file was uploaded successfully.";
    
            }
            else
            {
                // Notify the user that a file was not uploaded.
                UploadStatusLabel.Text = "You did not specify a file to upload.";   
            }
        }

    O que vc quer está especificamente nesse bloco:

    if (FileUpload1.HasFile)
    {
          String fileName = FileUpload1.FileName;
    }

    Códigos extraídos de: http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.fileupload.aspx


    Rafael Santos

    Observações:
    1. Selecione a opção "Habilitar o Live Alerts por Padrão" nas suas configurações para que possa acompanhar em tempo real as atividades relacionadas a sua Thread;
    2. Não abandone sua Thread. Ao perguntar, fique atento às respostas; ao encontrar uma solução, compartilhe;
    3. As pessoas que dedicam seu tempo na busca por soluções para você não ganham nada em troca. Valorize-as e em forma de agradecimento pontue as respostas corretas.

    "Quem disse que não escrevo poesias? A diferença é que as minhas começam com using System;"



    • Editado Rafa Santos segunda-feira, 13 de agosto de 2012 20:48
    segunda-feira, 13 de agosto de 2012 20:45
  • rafa, é o seguinte. eu já estou usando o controle fileupload e um botão. o código que coloquei é justamente o que faço quando clico no botão.

    o que acontece, o arquivo que eu selecionar pode estar em qualquer diretório da rede. então eu preciso selecionar esse arquivo (pode estar em qualquer diretório da rede) pegar o caminho e nome do arquivo para aí sim ler.

    tudo que você me mostrou já estou fazendo. porém, como eu te disse no meu campo texto vai vazio. ou seja, não está indo o diretório e o arquivo que eu selecionei.

    entendeu agora?

    segunda-feira, 13 de agosto de 2012 20:49
  • segunda-feira, 13 de agosto de 2012 21:29