ASP 下载时重命名已上传文件的新下载文件名的实现代码

yizhihongxing

实现在ASP网页中进行下载时,能够重命名已上传文件的新下载文件名,可以通过以下步骤来实现:

  1. 在ASP页面中引入文件系统对象和ADO对象,提供下载文件的基础信息。
<!--#include file="adovbs.inc"-->
<%
Dim fso, conn, rs
Set fso = CreateObject("Scripting.FileSystemObject") '文件系统对象
Set conn = Server.CreateObject("ADODB.Connection") 'ADO对象
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("database.mdb") '连接Access数据库
rs.Open "SELECT * FROM Files WHERE ID=" & Request("fileid"), conn, adOpenStatic '通过文件ID获取文件记录信息
If Not rs.EOF Then
    Dim fileName, filePath, fileSize
    fileName = rs("Name") '文件名
    filePath = rs("Path") '文件路径
    fileSize = rs("Size") '文件大小
End If
%>
  1. 通过ASP页面中的Response对象,设置下载文件的HTTP头信息,指定新下载文件名。
Response.ContentType = "application/octet-stream"
Response.AddHeader "Content-Disposition", "attachment;filename=" & HttpUtility.UrlEncode("new_name.txt", System.Text.Encoding.UTF8)
Response.AddHeader "Content-Length", fileSize
Response.TransmitFile(Server.MapPath(filePath))
Response.End

上述示例代码中,通过Response.ContentType指定文件类型,Response.AddHeader设置HTTP头信息,其中Content-Disposition指定下载的方式及新文件名,Content-Length指定文件大小,TransmitFile将文件发送至客户端,End结束HTTP响应。

  1. 完整代码示例
<%
Dim fso, conn, rs
Set fso = CreateObject("Scripting.FileSystemObject")
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("database.mdb")
rs.Open "SELECT * FROM Files WHERE ID=" & Request("fileid"), conn, adOpenStatic
If Not rs.EOF Then
    Dim fileName, filePath, fileSize
    fileName = rs("Name")
    filePath = rs("Path")
    fileSize = rs("Size")
    Response.ContentType = "application/octet-stream"
    Response.AddHeader "Content-Disposition", "attachment;filename=" & HttpUtility.UrlEncode("new_name.txt", System.Text.Encoding.UTF8)
    Response.AddHeader "Content-Length", fileSize
    Response.TransmitFile(Server.MapPath(filePath))
    Response.End
End If
%>
  1. 视频文件下载示例
<%
Dim fso, conn, rs
Set fso = CreateObject("Scripting.FileSystemObject")
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("database.mdb")
rs.Open "SELECT * FROM Files WHERE ID=" & Request("fileid"), conn, adOpenStatic
If Not rs.EOF Then
    Dim fileName, filePath, fileSize
    fileName = rs("Name")
    filePath = rs("Path")
    fileSize = rs("Size")
    Response.ContentType = "video/mp4"
    Response.AddHeader "Content-Disposition", "attachment;filename=" & HttpUtility.UrlEncode("new_name.mp4", System.Text.Encoding.UTF8)
    Response.AddHeader "Content-Length", fileSize
    Response.TransmitFile(Server.MapPath(filePath))
    Response.End
End If
%>

上述示例代码中,通过Response.ContentType指定下载的文件类型为视频类型,Response.AddHeader设置HTTP头信息,其中Content-Disposition指定下载的方式及新文件名,Content-Length指定文件大小,TransmitFile将文件发送至客户端,End结束HTTP响应。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:ASP 下载时重命名已上传文件的新下载文件名的实现代码 - Python技术站

(0)
上一篇 2023年6月26日
下一篇 2023年6月26日

相关文章

  • SD高达G世纪火线纵横存档恢复方法 存档初始化怎么恢复

    SD高达G世纪火线纵横存档恢复方法 在玩SD高达G世纪火线纵横游戏过程中,偶尔会遇到存档被删除、损坏等问题,导致游戏进度丢失的情况。那么如何进行存档的恢复呢?下面我们将详细讲解存档恢复的方法。 1. 存档初始化 首先,我们需要了解存档初始化的概念。存档初始化是指将游戏存档中的数据全部清空,相当于将游戏重新开始。在SD高达G世纪火线纵横游戏中,如果不小心点击了…

    other 2023年6月20日
    00
  • 在mybatis中去除多余的前缀或者后缀操作

    在MyBatis中,可以使用<trim>元素来去除多余的前缀或后缀操作。<trim>元素可以用于动态地处理SQL语句的前缀和后缀,以便根据条件添加或删除它们。 以下是使用<trim>元素去除多余前缀或后缀的完整攻略: 去除前缀示例: <select id=\"getUserList\" resul…

    other 2023年8月5日
    00
  • ps如何制作自定义图案?

    要制作自定义图案,可以使用Photoshop软件。 制作自定义图案的步骤如下: 准备工作 打开Photoshop软件,在菜单栏中选择“文件”->“新建”,创建一个新的空白文档。 将你想要制作成图案的元素或者图片导入到这个空白文档中。 图案制作 在“图层”面板中,选择需要制作成图案的元素图层。 在菜单栏中选择“编辑”->“定义图案”。 在弹出的对话…

    other 2023年6月25日
    00
  • vue-router启用history模式下的开发及非根目录部署方法

    Vue-router启用history模式下的开发及非根目录部署方法 当使用 Vue.js 进行单页应用(SPA)开发后,我们通常使用vue-router来管理路由。Vue-router中默认使用Hash模式来实现路由跳转,即把路由信息放到URL的hash值中。但在实际使用中我们经常希望使用history模式,即把路由信息放到URL的路径中,这样URL更加直…

    other 2023年6月27日
    00
  • 模块一 GO语言基础知识-库源码文件

    模块一 GO语言基础知识-库源码文件 在Go语言中,库源码文件是用于封装可复用代码的一种方式。以下是关于库源码文件的详细攻略。 创建库源码文件 创建一个新的Go源码文件,例如utils.go。 在源码文件中,使用package关键字定义包名,例如package utils。 在源码文件中,定义需要封装的函数、结构体或常量等。 示例1:定义一个工具函数 “`…

    other 2023年10月13日
    00
  • python3判断IP地址的方法

    Python3判断IP地址的方法攻略 在Python3中,我们可以使用正则表达式或者第三方库来判断一个字符串是否为合法的IP地址。下面是详细的攻略,包含两个示例说明。 方法一:使用正则表达式 正则表达式是一种强大的工具,可以用来匹配字符串中的模式。我们可以使用正则表达式来判断一个字符串是否为合法的IP地址。 import re def is_valid_ip…

    other 2023年7月30日
    00
  • cmd move命令 移动文件(夹)

    移动文件和文件夹是我们在计算机工作中常常需要进行的操作。Windows的命令行中提供了move命令,可以实现在不使用鼠标的情况下,移动文件和文件夹。 命令格式 move命令的基本格式为: move [源文件路径] [目标路径] 其中,源文件路径表示要移动的文件或文件夹的路径;目标路径表示移动后文件或文件夹所在的目录路径。 示例说明 下面,我们通过两个示例来详…

    other 2023年6月26日
    00
  • 朋友网手机客户端下载页面的设计分享(图文)

    来一步一步讲解一下“朋友网手机客户端下载页面的设计分享(图文)”的完整攻略。 1. 确定页面设计的方向和主题 在设计“朋友网手机客户端下载页面”时,需要确定手机客户端的主题和方向,包括页面风格、配色方案、字体、布局等。具体的方向可以通过市场调研和竞品研究来确定,设计时要考虑用户群的需求和关注点,以及如何通过设计来突出产品的优势和特点。 2. 设计页面结构和布…

    other 2023年6月25日
    00
合作推广
合作推广
分享本页
返回顶部