none
Erro ao lêr um arquivo de texto na raiz de c do windows? RRS feed

  • Pergunta

  • Olá estou com o seguinte problema escrevi esse código em aspclassico que está rodando devidamente em um link ssl de um dominio

     

    <%
     

     
    'O parâmetro forReading é utilizado somente para leitura.
    Const forReading = 1, forWriting = 2, forAppending = 8

    'Instância o objeto FSO.
    Set Fso = CreateObject("Scripting.FileSystemObject")


    Set ObjFile = Fso.GetFile("C:/TestFile.txt")

    'O método OpenAsTextStream abre o arquivo como sendo um fluxo de texto.
    Set objStream = ObjFile.OpenAsTextStream(forReading,false)

    'Looping para varrer todas as linha do arquivo.
    While Not ObjStream.AtEndOfStream

    'O método Readline lê uma linha de um arquivo
    linkinteiro = Linha & ObjStream.Readline & "<br>"
    Wend

    'Mostra o conteúdo.
    Response.write linkinteiro

    'Fecha o arquivo.
    objStream.Close

    'Destruíndo objetos
    Set Fso = nothing
    Set objStream = nothing

     

     

     

    %>

     

    só que eu quero que ele leia um dos seguintes caminhos na maquina cliente ou seja em localhost

     

    mas na raiz de c: ou dentro do windows/system32

     

    na pagina asp que está no provedor ele me retorna o seguinte erro

     

    Microsoft VBScript runtime error '800a0035'

    File not found

    /cybersnet/monousuario.asp, line 12

     

     

    onde linha 12 seria essa do script aspclassico

     

    Set ObjFile = Fso.GetFile("C:/TestFile.txt")

     

    Fico no aguardo de vossa resposta

     

     

    domingo, 22 de abril de 2007 17:42

Todas as Respostas

  • Oi !

     

    O ASP roda no servidor, não no client.

     

    Qualquer uso que você fizer do FSO no ASP vai buscar o arquivo no lado servidor e não no lado client.

     

    Você pode usar FSO com javascript, mas acredito que irá esbarrar na segurança do browser, que aumentou muito. Você pode também pedir para o usuário fazer um upload.

     

    []'s

     

     

    domingo, 22 de abril de 2007 17:48
  • Eu entendi mas o objetivo de minha aplicação é que ele leia o arquivo.txt do lado do cliente no servidor...dx explicar os passos vc vai entender o que estou querendo dizer

     

    A)Ele está numa aplicação winforms e escreve e grava um config de arquivo no lado da maquina cliente ou seja nos caminhos especificados (seria uma espécie de configs mas que seria lido apenas de uma maquina ou seja a do cliente pelo servidor)

     

     B)Ele lê do servidor na pagina acima o caminho que está na maquina cliente (somente daquele usuario)

     

    se vc tiver um ex. de alguma linguagem cliente que possa interagir e aproveitando duas opções poderia sêr uma aplicação .net que le-se o caminho no servidor ou daria o mesmo erro

     

    outra alternativa só perguntando poderia sêr um banco de dados access? gravado na maquina local e lido no servidor pelo caminho local?

     

    fico no aguardo das respostas

     

    domingo, 22 de abril de 2007 22:41
  • Oi !

     

    Não dá para fazer isso.

     

    O servidor não pode ler uma informação no client (imagine um site web podendo ler meu HD!), o client precisa entregar a informação ao servidor (upload) para que ela seja lida.

     

    Ou, já que existe uma aplicação windows forms no lado client, poderiam ser utilizados webservices com WCF para fazer uma comunicação entre servidor e client, mas não uma leitura de disco partindo do servidor.

     

    []'s

     

     

    domingo, 22 de abril de 2007 22:44
  • Duas perguntas se não eu desisto e vou fz de outro jeito 1)No caso dos WebServices haveria uma forma de eu pegar o dado deles, que eu quisesse e jogar ou redirecionar p/ pagina aspclassico, ele lendo uma informação de um aplicação winforms? 2)Outra alternativa para leitura e escrita dos dados que eu lhe passei não poderia sêr o uso de cookies ou seja Na aplicação cliente meu winform no lugar de eu gravar um arquivo.txt pela forma stream eu não poderia gravá-lo pela forma cookies e lê-lo pela aplicação aspclassico e/ou .aspx? Fico no aguardo se nenhuma das alternativas ácima servirem vou mandar escrever no servidor ai não tem jeito mesmo? mas obrigado de qq forma..vlw
    domingo, 22 de abril de 2007 23:31
  • Oi !

     

    1) O WebService gravaria a informação em algum local e posteriormente, quando o usuário no browser chamasse o asp classico, este poderia recuperar a informação. O webservice teria que ser chamado da aplicação windows forms

     

    2) Uma opção que te passei no inicio foi utilizar o FSO via javascript. Porém acredito que você irá esbarrar na segurança de browsers mais modernos, mas é uma tentativa. A aplicação windows forms não poderia gerar cookies, o javascript nem precisa, coloca o conteúdo em um campo hidden e envia.

     

    []'s

     

    domingo, 22 de abril de 2007 23:37
  • Bem então o melhor jeito seria webservice bem então se pd me orientar pela ultima vêz já que sou iniciante como eu faria via webservice?

     

    1)O aplicativo winforms via um form de configuração gravou os dados numa pasta windows com a extensão .txt

     

    2)no caso teria que ter uma pagina .aspx que fize-se a ponte (através de um consumo via webservice desse dado na pasta windows) p/ depois via parametros ou de alguma outra forma ele fizesse a ponte p/ a pagina aspclassico (teria algum ex. que pudesse me mandar por email ou link de como eu poderia fz isso)

     

     

    3)apos lido o parametro na pagina.aspx x do servidor aí eu repassaria os dados (variaveis) parametros de alguma forma p/ a pagina aspclassica onde seria exibido os resultados

     

     

    fico no aguardo p/ saber se a lógica esta correta em tds os casos já agradeço de ante-mão e vou pesquisar de como posso fz isso via webservice ou de outro modo o meu email é divulguesites@hotmail.com

    segunda-feira, 23 de abril de 2007 14:36
  • Oi !

     

    Não entendi essa lógica.

     

    A questão é muito simples : A aplicação windows chama o webService e transmite os dados, o webService guarda esses dados em um banco de dados, por exemplo, então toda aplicação no servidor que precisar pode ler estas informações.

     

    []'s

     

     

    terça-feira, 24 de abril de 2007 02:32
  • A Lógica seria a seguinte pelo que vc me passou

     

    <arquivo texto - .txt> na pasta local <windows>

     

    <O Codigo da aplicação windows - chama o webservice de uma app instalada no servidor >

    (neste caso essa app webservice podia fz parte de um pack da aplicação distribuida no servidor qdo

    da instalação do aplicativo ou repassado separadamente ao cliente)

     

    <por sua vêz o webservice lê essa informação ou arquivo texto da pasta do local do windows, via

    aplicação ou pd neste caso lêr direto da pasta sem passar pela app?>

     

    <finalmente o webservice fáz esse intercâmbio entre a app windows e app no server >

     

    fico no aguardo p/ saber se essa é a lógica correta?

     

    terça-feira, 24 de abril de 2007 02:45
  • Oi !

     

    Não, não é.

     

    A aplicação windows faz a leitura do txt local.

     

    Chama o webService e transmite dados ao webService

     

    O webService guarda tais dados em um banco de dados.

     

    Qualquer aplicação que deseje pode acessar este banco de dados.

     

    []'s

     

     

    terça-feira, 24 de abril de 2007 02:52
  • Olá Dennes obrigado de ante-mão de me ajudar

     

    mas no caso como eu faria essa parte a que eu não entendi teria um ex. pratico ou link que pudesse me passar por email

     

    A aplicação windows faz a leitura do txt local. (essa eu entendi e da pra fz colocando o dado do arquivo.txt numa variavel via methodo streamreader)

     

    Chama o webService e transmite dados ao webService (é essa parte que eu não entendi como é que eu faço para pegar essa variavel que está na app windows e jogá-la pro link da app webservice no servidor ?_)

     

    O webService guarda tais dados em um banco de dados.(essa eu entendi em bd ou arquivo de texto que está no servidor)

     

    Qualquer aplicação que deseje pode acessar este banco de dados.(essa tb eu entendi e desde já agradeço)

     

    []'s

     

    Falta só a duvida 2 ...fico no aguardo e tenha um bom dia

    terça-feira, 24 de abril de 2007 03:51