asp.net文件下载

本文详细介绍了如何在ASP.NET页面中创建下载链接,并通过代码实现无文件名暴露的下载功能,确保用户在点击下载链接时能够正确下载文件而不直接打开。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


.aspx代码如下:

<%@ Page Title="" Language="C#" MasterPageFile="~/SAMPLE_CODE/AMST_SAMPLE.master" AutoEventWireup="true" CodeFile="S6_downloadLink.aspx.cs" Inherits="SAMPLE_CODE_S8_downloadLink" %>

<asp:Content ID="Content1" ContentPlaceHolderID="CPH_HEAD" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="CPH_MEMO" Runat="Server">
    <ul>
        <li>普通的超链接 <a>有时无法满足下载的需求,而是用浏览器直接打开了文件</li>
    </ul>
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="CPH_MAIN" Runat="Server">
    <p>普通超链接链接一个图片文件[直接打开]:
        <a href="../imgs/img1.jpg">
           <a href="../imgs/img1.jpg"/>    </a></p>

    <p>普通超链接链接一个rar文件[下载]:
        <a href="../imgs/temp.rar">
             <a href="../imgs/temp.rar"/>
        </a>
    </p>

    <p>普通超链接指向一个wav文件[插件或运行环境不同而决定是打开还是下载]:
    <a href="../imgs/music1.wav">
         <a href="../imgs/music1.wav"/>
    </a></p>


    <p>带有[download]属性的超链接-> 图片 
        <a href="../imgs/img1.jpg" download="myImg.jpg">图片下载</a>
    </p>

    <p style="font-size:16px; color:Red;">完全不暴露目标文件的下载LinkButton
        <asp:LinkButton ID="LinkButton1" runat="server" onclick="LinkButton1_Click">图片文件下载</asp:LinkButton>
    </p>

</asp:Content>

.aspx.cs代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class SAMPLE_CODE_S8_downloadLink : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void LinkButton1_Click(object sender, EventArgs e)
    {
        string fileName = "tempImg.jpg";
        string filePath = Server.MapPath("~/imgs/img3.jpg");

        Response.Clear();
        Response.Buffer = true;

        Response.AddHeader("Content-Disposition", "attachment;filename=" + fileName);
        Response.ContentType = "application/unknow";
        Response.TransmitFile(filePath);
        Response.End();

    }

}

运行效果如下:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值