asp.net – 从ASP .Net下载文件时,文本文件会附加HTML内容
发布时间:2020-12-16 06:31:27 所属栏目:asp.Net 来源:网络整理
导读:我创建了一个页面,允许用户使用FileUpload Control将文件上传到服务器并使用此代码处理其事件 Sub SaveAttachment() Dim root As String = "C:temp" Dim filename As String = FileUpload1.FileName Dim SaveName As String = root filename FileUpload1.S
我创建了一个页面,允许用户使用FileUpload Control将文件上传到服务器并使用此代码处理其事件
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内容. 这是我上传的示例文件 Here is my sample text file It consists of 3 lines only 这是我下载后的文件 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代码消失? 解决方法
确保通过在Response.WriteFile(文件路径)之后调用Response.End()来结束您的响应,否则您的表单将附加到流并发送到客户端.
它也会影响其他文件,但很可能只会在文件末尾被视为垃圾并被各自的应用程序忽略. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 网络中的反思和表现
- asp.net-mvc – ELMAH.axd是可浏览的,但永远不会记录我的任
- 禁用并选择asp.net mvc Html.RadioButtonFor
- asp.net-mvc – 模型绑定到MVC 3中可能存在非顺序索引的列表
- asp.net-web-api – 使用控制器上的Xml注释的ASP.NET Web A
- Asp.NET MVC视图中的引用
- asp.net – 在代码GZipping中的IIS压缩?
- asp.net-mvc – 使用Web Deploy发布ASP.NET MVC2站点
- asp.net-mvc – 抛出一个404像StackOverflow的,没有重定向,
- asp.net-mvc – 使用ASP.NET MVC设置路由{tenant} / {contr
推荐文章
站长推荐
- ASP.NET MVC中的Dropdownlist onchange事件不使用
- asp.net – 如何在asp:GridView中启用就地编辑?
- asp.net-mvc – 在asp.net MVC 3中授权登录URL
- asp.net – 信用卡的前四个号码多久更改一次?
- asp.net-mvc – 将json存储在隐藏字段中以反序列
- ASP.NET MVC“Tidy”Html即时
- mvc项目架构搭建之UI层的搭建 架构搭
- asp.net – 在所选数据源上找不到具有该名称的字
- asp.net-mvc – 如何使用NHibernate Envers记录当
- ASP.net C#:如何使用File.ReadLines(fileName).
热点阅读