0

可能重复:
单击时下载 href 图像链接

我创建了一个项目符号列表

<asp:BulletedList ID="BulletedList1" runat="server" DisplayMode="HyperLink" 
            DataSourceID="SqlDataSource1" DataTextField="description" 
            DataValueField="link" onclick="BulletedList1_Click">
        </asp:BulletedList>
        <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
        ConnectionString="<%$ ConnectionStrings:chaaapaConnectionString6 %>" 
        SelectCommand="SELECT [description], [link] FROM [quiz]">
    </asp:SqlDataSource>

datavalue 字段包含指向图像文件的链接。单击时,图像会显示在浏览器中。我希望显示一个下载框。

4

1 回答 1

1

该图像在浏览器中打开,因为您的代码(我认为)只是生成一个超链接,并且浏览器识别 MIME 类型并绘制它(而不是打开下载提示)。您需要设置响应标头以告诉浏览器以不同的方式进行操作。

具体来说,您要设置content-disposition.

请参阅:在 HTTP 响应标头中使用 content-disposition

最简单的方法可能是创建一个简单的 HTTP 处理程序,该处理程序使用Response.BinaryWrite(). 一个空的 ASPX 页面可以是一个处理程序,或者您可以使用一个通用处理程序(ASHX 文件)。

本教程似乎大致涵盖了您正在做/需要做的事情。确保正确获取content-disposition值/语法(浏览器可能会使用格式错误的标头做奇怪的事情)。

于 2012-08-08T06:15:10.357 回答