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

实现在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日

相关文章

  • linux系统安装rsync和sersync实现数据实时同步详细步骤(rsync实时同步)

    以下是实现Linux系统安装rsync和sersync实现数据实时同步的详细步骤攻略: 1. 安装rsync和sersync 首先需要在Linux系统上安装rsync和sersync。可以使用以下命令安装: sudo apt-get install rsync sersync 2. 创建同步目录 在rsync和sersync之间进行同步需要一个同步的目录。可…

    other 2023年6月27日
    00
  • Android 4.4版MIUI V5简单评测体验介绍

    Android 4.4版MIUI V5简单评测体验介绍 1. 简介 Android 4.4版MIUI V5是一款基于Android 4.4系统开发的MIUI第五代用户界面。它提供了丰富的功能和个性化选项,为用户带来了全新的使用体验。本文将对Android 4.4版MIUI V5进行详细评测和介绍。 2. 用户界面 Android 4.4版MIUI V5的用户…

    other 2023年8月3日
    00
  • Windows7关机、重启、待机、休眠命令通过Autohotkey可快速实现

    下面是详细讲解“Windows7关机、重启、待机、休眠命令通过Autohotkey可快速实现”的完整攻略: 1. Autohotkey是什么? Autohotkey是一个免费开源的脚本语言,可用于自动化任务、快捷键、时间戳、表单填充等许多任务。 2.如何安装Autohotkey? 在官网下载Autohotkey的安装包,安装后即可使用。 3.实现Window…

    other 2023年6月26日
    00
  • 设置个性qq邮箱格式账号的方法以手机号邮箱账号为例

    设置个性QQ邮箱格式账号的方法以手机号码的邮箱账号为例,其具体操作步骤如下: 打开QQ邮箱网页版,进入登录页面。 在登录框中输入已注册的手机号码邮箱账号和密码,然后登录。 进入QQ邮箱的主界面后,在页面右上角找到“设置”选项,然后点击它。 在设置页面中,找到“账户”选项卡,然后点击它。 在账户选项卡下,找到“账号信息”中的“修改账号”选项,并点击它。 在弹出…

    other 2023年6月27日
    00
  • 火绒安全软件如何设置管理文件和桌面右键菜单?

    以下是火绒安全软件如何设置管理文件和桌面右键菜单的完整攻略,包括步骤、注意事项和示例说明。 设置管理文件 步骤 打开火绒安全软件,点击界面上的“高级工具”选项卡; 在下拉菜单中,点击“管理文件”; 在弹出的管理文件窗口中,可以对各类文件进行设置,如压缩包、可执行文件等; 选择需要设置的文件类型,点击“编辑”按钮,进行相应的权限设置。 注意事项 管理文件需要使…

    other 2023年6月27日
    00
  • Bootstrap(2) 排版样式

    Bootstrap(2)排版样式的完整攻略 Bootstrap是一个流行的前端框架,提供了丰富的CSS和JavaScript组件,可以帮助开发人员快速构建响应式网站和Web应用程序。本文将为您提供Bootstrap(2)排版样式的完整攻略,包括以下内容: Bootstrap(2)排版样式的概述 Bootstrap(2)排版样式的使用方法 示例说明 1. Bo…

    other 2023年5月5日
    00
  • 单例(java)

    以下是关于“单例(java)”的完整攻略,包括基本概念、使用方法和两个示例。 基本概念 单例是一种设计模式,它保证一个类只有一个实例,并提供一个全局访问点。在Java中,单例可以通过私有构造函数、静态变量和静态方法实现。 使用方法 以下是使用单例的方法: 私有构造函数:将类的构造函数设为私有,以防止其他类实例化该类。 静态变量:在类中定义一个静态变量,用于存…

    other 2023年5月7日
    00
  • ftp服务器FileZilla Server详细配置教程

    FTP服务器FileZilla Server详细配置教程 前言 本教程旨在介绍 FileZilla Server 的详细配置过程,帮助有需要的用户快速搭建一个安全、稳定的 FTP 服务器,以供文件传输和分享。 前置条件 在开始之前,请确保您拥有以下条件和知识:- 一台 Windows 系统的服务器(本教程以 Windows 10 为例进行演示)- 网络知识和…

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