c# - 下载后如何打开 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();
}
解决方案
你的评论:
我们有在浏览器上运行的 UI,用户单击文件名并下载文件……但用户需要单击文件才能打开它,但我想在下载后自动打开它。
你不能。这完全是用户的选择。您不能强制网站用户在下载后自动打开文件。
这是故意的,因为以这种方式传播病毒非常容易。
但是,您可以向用户说明如何配置他们的浏览器以自动打开某些类型的文件。例如,在 Chrome 中,下载文件后,文件名旁边会出现一个箭头。单击它,有一个选项“自动打开此类型的文件”。
但这仍然取决于您的用户。
推荐阅读
- javascript - 在 React.JS 中将数据 onClick 从子组件传递到另一个子组件
- mysql - 为什么这个 MySQL INTERSECTION 语法错误?
- grafana - Renaming Legend Names to their Measurement Influxdb 2.0 Grafana
- web - How to write Snort rules to detect failed login attempt on a website
- visual-studio - VS Community - Cannot run a simple console application: Could not load file or assembly ‘System.Reflection.Metadata'
- windows-10 - Is there a TinyMCE checker site, or a list of minimum requirements?
- python - Error When Taking Comments With Beautifulsoup
- javascript - Why is my react-tooltip sometimes displaying on the parent element?
- r - 将序号分配给具有不规则模式的新变量
- asp.net - 如何使用 Fluent API 沿着关系“链”走下去?