Usuário com melhor resposta
Abrir Arquivo em ASP .NET !!!

Pergunta
-
Bom dia a Todos,
Tenho uma aplicação Asp .NET C# e estou precisando abrir um arquivo.
O que eu achei foi System.Diagnostics.Process.Start mas funcion apenas para win certo?
então me passaram esse exemplo:
System.Diagnostics.ProcessStartInfo psi =
new System.Diagnostics.ProcessStartInfo("cmd.exe");psi.UseShellExecute = false;
psi.RedirectStandardOutput =
true;psi.RedirectStandardInput =
true;psi.RedirectStandardError =
true; // Start no processoSystem.Diagnostics.Process proc = System.Diagnostics.Process.Start(psi);
proc.StandardInput.WriteLine(
@"c:\\teste.txt"); // Fecha o processoproc.Close();
Mas não está rolando....
Se eu abrir o Gerenciador de Tarefas do Windows verifico que o processo está na lista de processos mas não consigo visualiza-lo.
Alguem pode me ajudar???
Obrigado
Respostas
-
Flávio,
vc quer abrir um arquivo no lado cliente? Esse código que vc colocou não vai funcionar... para abrir um arquivo no lado cliente, terá que forçar um download do mesmo. veja:
http://www.msdnbrasil.com.br/sharepedia/visualizarartigo.aspx?id=57909
http://www.msdnbrasil.com.br/sharepedia/visualizarartigo.aspx?id=57910
http://www.msdnbrasil.com.br/sharepedia/visualizarartigo.aspx?id=57911
http://www.msdnbrasil.com.br/sharepedia/visualizarartigo.aspx?id=57912
Ricardo Oneda
http://oneda.mvps.org/blog
Todas as Respostas
-
-
Gustavo primeiramente Obrigado pela atenção
minha duvida é a seguinte gostaria de abrir um .Doc, .txt vai depender do Usuario, na maioria das vezes vai ser .doc.
Mas na classe System.Diagnostics.Process.Start não rola...em web
Ai o Tentei daquela forma que coloquei na minha pergunta mas tbem naum rolou.
ai fiz assim coloquei um js para abrir outra janela e apontando para o .doc.
Funcionou...
-
Flávio,
Vc já tentou abrir os arquivos usando as classes do Framework System.FileInfo, System.StreamReader e pra exibi-los vc pode modificar o contentType da página.
Excel:
Response.ContentType = "application/vnd.ms-excel";
Word:
Response.ContentType = "application/vnd.ms-word";
Outras:
Response.ContentType = "application/octet-stream ";
Espero ter ajudado,
[]'s -
Tem fazer essa alteração aki
psi.UseShellExecute = True;
e logo em seguida adicionar abaixo dessa sua alteração esse comando aki(eu fiz em vb.net, se não funfar ai no C#, você vai ter q adapta-lo, por isso boa sorte q estou com preguiça de abrir como C#
psi.WindowStyle = Diagnostics.ProcessWindowStyle.Normal -
Flávio,
vc quer abrir um arquivo no lado cliente? Esse código que vc colocou não vai funcionar... para abrir um arquivo no lado cliente, terá que forçar um download do mesmo. veja:
http://www.msdnbrasil.com.br/sharepedia/visualizarartigo.aspx?id=57909
http://www.msdnbrasil.com.br/sharepedia/visualizarartigo.aspx?id=57910
http://www.msdnbrasil.com.br/sharepedia/visualizarartigo.aspx?id=57911
http://www.msdnbrasil.com.br/sharepedia/visualizarartigo.aspx?id=57912
Ricardo Oneda
http://oneda.mvps.org/blog