首页 > 解决方案 > 下载后如何打开 Word/Excel 文件

问题描述

我正在使用以下代码下载 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(); 
        }

标签: c#excelms-word

解决方案


你的评论:

我们有在浏览器上运行的 UI,用户单击文件名并下载文件……但用户需要单击文件才能打开它,但我想在下载后自动打开它。

你不能。这完全是用户的选择。您不能强制网站用户在下载后自动打开文件。

这是故意的,因为以这种方式传播病毒非常容易。

但是,您可以向用户说明如何配置他们的浏览器以自动打开某些类型的文件。例如,在 Chrome 中,下载文件后,文件名旁边会出现一个箭头。单击它,有一个选项“自动打开此类型的文件”。

但这仍然取决于您的用户。


推荐阅读