При загрузке файла из ASP.Net текстовый файл дополняется содержимым HTML

Я создал страницу, которая позволяет пользователям загружать файлы на сервер с помощью элемента управления FileUpload и обрабатывать его событие с помощью этого кода

Sub SaveAttachment()
    Dim root As String = "C:\temp\"
    Dim filename As String = FileUpload1.FileName
    Dim SaveName As String = root & filename
    FileUpload1.SaveAs(SaveName)
End Sub

Это сработало нормально, я смог увидеть загружаемые файлы, и содержимое файлов осталось нетронутым (— это точная копия файла, загруженного пользователем ).

Теперь для загрузки файлов обратно пользователю (в более позднее время )я написал другую страницу, которая считывает имя файла из Request.Parameter («файл» )и выбирает этот файл для загрузки. пользователю. Я написал страницу Download.aspx для обработки загрузки в части ASP (, код не использовался ):

<%@ Import Namespace="System.IO"%>
<script language="VB" runat="server">
Sub Page_Load(sender As Object, e As EventArgs)

        Dim root As String = "C:\temp\"
        Dim filepath As String = Request.Params("file")
        If Not filepath Is Nothing Then
            filepath = root & filepath
            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

End Sub
</script>
<form id="form1" runat="server">
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
</form>

. Я попытался загрузить файлы изображений, а затем загрузить их снова, и это сработало нормально. Однако только когда я загружаю текстовые файлы, я получаю содержимое этого файла, дополненное некоторым содержимым HTML.

Вот пример файла, который я загрузилOriginal File before uploading

Here is my sample text file

It consists of 3 lines only

А вот файл, когда я его скачал обратноThe same file when downloaded from the server

Here is my sample text file

It consists of 3 lines only
<form name="form1" method="post" action="FileDownload.aspx?file=sample_file.txt" id="form1">
<div>
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwULLTE5NTU5ODQyNTBkZNCYbOVZJDRUAOnIppQYkwHUSlb0" />
</div>

<span id="Label1">Label</span>
</form>

Я пошел к файлу на сервере и открыл его, чтобы убедиться, что там есть дополнительный HTML-контент, но, как я уже сказал, файл был загружен отлично. Только когда он загружается, он содержит добавленный материал HTML.

Что я делаю неправильно? Что я могу сделать, чтобы этот дополнительный HTML-код исчез? Почему эта проблема затрагивает только текстовый файл, а не изображения, EXE, XLS, DOC и т. д.?

5
задан Ahmad 21 July 2012 в 07:54
поделиться