我正在使用下面的代码下载word / excel文件。 下载后如何自动打开此文件?
private void DownloadFile(byte[] bArray, string mimeType, string KeyPath, bool bForcedownload)
{
Response.ContentType = mimeType;
if (bForcedownload)
Response.AppendHeader("Content-disposition",
"attachment; filename=" + Path.GetFileName(KeyPath));
Response.AppendHeader("content-length", bArray.Length.ToString());
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.AppendHeader(@"Pragma", @"no-cache");
Response.BinaryWrite(bArray);
FlushSupressReponse();
}
private void FlushSupressReponse()
{
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.SuppressContent = true;
HttpContext.Current.ApplicationInstance.CompleteRequest();
}
答案 0 :(得分:2)
您的评论:
我们有在浏览器上运行的用户界面,用户单击文件名即可下载文件...但是用户需要单击文件将其打开,但是我想在下载后自动将其打开。
不能。这完全是用户的选择。您不能强迫网站用户在下载后自动打开文件。
这是有意的,因为这样很容易分发病毒。
但是,您可以为用户提供有关如何配置其浏览器以自动打开某些类型的文件的说明。例如,在Chrome中,下载文件后,文件名旁边会有一个箭头。单击该按钮,然后有一个选项“自动打开此类型的文件”。
但这仍然取决于您的用户。