View log file

Программирование Web-приложений и Web-сервисов.

Модератор: Ramzes

val
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 168
Зарегистрирован: 14.11.2002 (Чт) 1:14

View log file

Сообщение val » 08.07.2005 (Пт) 16:42

Есть такая проблема.
Хочу дать юзеру возможность просматривать лог файлы через ASP.NET
page.

Создал page которая даёт возможность выбрать фаил для просмотра.

После того как юзер выбрал фаил и кликнул на него, параметры файла передаются на другую страницу через URL. Появляется system Window спрашивающий или юзер хочет Save or Open file. Затем открывается фаил в Notepad.

Всё работает вроде как надо, кроме того что ASP добавляет в фаил HTML code страницы.

Например:
Содержание файла:

Код: Выделить всё
~TCILOGFILE
*DEX COM Port 1
T6/9/2005 10:48:46 AM
-                    <-  ENQ
-                    <- Inside Receive ID Data
-->  DLE 0
-                    <-  DLE  SOH 4168840000SR01L01 DLE  ETX 4
-->  DLE 1
-                    <-  EOT


После этого в фаил автоматически добавляется следующее
Код: Выделить всё
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
   <HEAD>
      <title>FileDownload</title>
      <meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.1">
      <meta name="CODE_LANGUAGE" content="Visual Basic .NET 7.1">
      <meta name="vs_defaultClientScript" content="JavaScript">
      <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
   </HEAD>
   <body MS_POSITIONING="GridLayout">
      <form name="Form1" method="post"           action="FileDownload.aspx?file=C%3a%5cDownload%5cvbcode%5cDEXSerial%5cLogFiles%5cVendor+Three\DEX+COM+Port+1+2005-06-08+14-49.log" id="Form1">
<input type="hidden" name="__VIEWSTATE" value="dDwtNjU0MzcyMTk1Ozs+ridFlK8/5Bq4kJgK4b/lrupdtrk=" />

      </form>
   </body>
</HTML>


Как избавиться от этого?

Вот код второй страницы
Код: Выделить всё
        Dim root As String = "C:\Download\vbcode\DEXSerial\LogFiles"
        Dim filepath As String = Request.Params("file")
        If Not filepath Is Nothing Then
            If File.Exists(filepath) And filepath.StartsWith(root) Then
                Dim filename As String = Path.GetFileName(filepath)
                Response.Clear()
                Response.ContentType = "application/octet-stream"
                Response.AddHeader("Content-Disposition", "attachment; filename=""" & filename & """")
                Response.Flush()
                Response.WriteFile(filepath)
            End If
        End If
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning.

val
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 168
Зарегистрирован: 14.11.2002 (Чт) 1:14

Сообщение val » 08.07.2005 (Пт) 17:14

Проблема решена. :D
Нужно было просто с aspx формы удалить весь HTML code за исключением:
Код: Выделить всё
<%@ Page Language="vb" AutoEventWireup="false" Codebehind="FileDownload.aspx.vb" Inherits="DEXLogViewer.FileDownload"%>
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning.


Вернуться в ASP.NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 31

    TopList