C# 使用IE下载.mp4另存为.data
我有一个.NET项目,在那里我有一个直接链接,可以将.mp4下载到用户的硬盘上。它在chrome中运行良好,但在IE中,它将其保存为.data文件。有人知道我怎么解决这个问题吗 在my.aspx页面中,我使用以下链接:C# 使用IE下载.mp4另存为.data,c#,asp.net,.net,video,C#,Asp.net,.net,Video,我有一个.NET项目,在那里我有一个直接链接,可以将.mp4下载到用户的硬盘上。它在chrome中运行良好,但在IE中,它将其保存为.data文件。有人知道我怎么解决这个问题吗 在my.aspx页面中,我使用以下链接: <asp:hyperlink Visible="false" id="dlVideo" Font-Size="8pt" NavigateUrl='<%# Eval("VideoName", "~/Workshops/Refology/Get.aspx?FileName
<asp:hyperlink Visible="false" id="dlVideo" Font-Size="8pt" NavigateUrl='<%# Eval("VideoName", "~/Workshops/Refology/Get.aspx?FileName={0}&OrigName=" + Eval("FirstName") + "&CamperName=" + Eval("lastname") + "&Topic=" + Eval("Topic"))%>' runat="server" Text='<%# IIf(Eval("VideoName") Is DBNull.Value, "", "Video")%>'></asp:hyperlink>
猜测一下,可能是因为您在
内容处置
标题中从文件名中豁免了扩展名。而且,如果你的最终名称中有空格,你的标题会被弄乱;你可能应该逃避它。e、 g
/* ... */
var contentDisposition = new System.Net.Mime.ContentDisposition("attachment")
{
FileName = FinalName + ".mp4"
}:
// Properly encode header using ContentDisposition class.
Response.AddHeader("Content-Disposition", contentDisposition.ToString());
该类可以根据需要为您生成标题并对其进行编码。检查您的服务器是否设置了正确的MIME类型。假设IIS——我用您的Response.AddHeader代码替换了我的Response.AddHeader代码,并添加了var contentDisposition,与您上面所做的完全一样,它工作正常。非常感谢。
/* ... */
var contentDisposition = new System.Net.Mime.ContentDisposition("attachment")
{
FileName = FinalName + ".mp4"
}:
// Properly encode header using ContentDisposition class.
Response.AddHeader("Content-Disposition", contentDisposition.ToString());