ASP.NET MVC 输出下载流, 电脑上可以下载,手机上不可以.

niunan 2013-11-20 01:53:22
使用NPOI,把datatable转为EXCEL文档下载,代码如下:


// 產生 Excel 資料流。
MemoryStream ms = DataTableRenderToExcel.RenderDataTableToExcel(table) as MemoryStream;
//判断是否是IE,是则编码文件名,防止中文乱码
HttpBrowserCapabilitiesBase bc = HttpContext.Request.Browser;
string browser = bc.Browser.ToString();
string filename = browser.ToLower().Contains("ie") ? HttpUtility.UrlEncode(System.Text.UTF8Encoding.UTF8.GetBytes("未提现用户信息")) : "未提现用户信息";
// 設定強制下載標頭。
Response.AddHeader("Content-Disposition", string.Format("attachment; filename=" + filename + ".xls"));
// 輸出檔案。
Response.BinaryWrite(ms.ToArray());

ms.Close();
ms.Dispose();


网页上一个按钮,点击按钮后就执行上面的代码输出下载流,

在电脑上浏览器输入网址:http://aaa.com/export/,点击网页上的按钮可以直接下载Excel文档,弹出下载框出来的,
但是在手机上浏览器里输入网址:http://aaa.com/export/,点击网页上的按钮下载不了,没有反映,都是一样的代码的,

<form method='post' action='/export'>
<input type='submit' value='下载'/>
</form>

请教大家应该怎么解决?我就只想要点击一个按钮后下载excel文档的.
...全文
266 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
niunan 2013-12-20
  • 打赏
  • 举报
回复
自己的解决方法如下 : 1 点击“生成XLS”按钮,到后台生成XLS文件存在服务器上 2 页面上生成A标签,连接到服务器上生成的XLS上 3 这样在手机上点A标签就可以下载生成的XLS文件了 4 暂时只能想到这个解决方法
Im_Sorry 2013-11-20
  • 打赏
  • 举报
回复
引用 楼主 niunan 的回复:
使用NPOI,把datatable转为EXCEL文档下载,代码如下:

// 產生 Excel 資料流。  
            MemoryStream ms = DataTableRenderToExcel.RenderDataTableToExcel(table) as MemoryStream;
            //判断是否是IE,是则编码文件名,防止中文乱码  
            HttpBrowserCapabilitiesBase bc = HttpContext.Request.Browser;
            string browser = bc.Browser.ToString();
            string filename = browser.ToLower().Contains("ie") ? HttpUtility.UrlEncode(System.Text.UTF8Encoding.UTF8.GetBytes("未提现用户信息")) : "未提现用户信息";
            // 設定強制下載標頭。  
            Response.AddHeader("Content-Disposition", string.Format("attachment; filename=" + filename + ".xls"));
            // 輸出檔案。  
            Response.BinaryWrite(ms.ToArray());

            ms.Close();
            ms.Dispose();
网页上一个按钮,点击按钮后就执行上面的代码输出下载流, 在电脑上浏览器输入网址:http://aaa.com/export/,点击网页上的按钮可以直接下载Excel文档,弹出下载框出来的, 但是在手机上浏览器里输入网址:http://aaa.com/export/,点击网页上的按钮下载不了,没有反映,都是一样的代码的,

<form method='post' action='/export'>
<input type='submit' value='下载'/>
</form>
请教大家应该怎么解决?我就只想要点击一个按钮后下载excel文档的.
你可以搜索这个控件手机解决方案,看看有没有支持的!
Teln_小凯 2013-11-20
  • 打赏
  • 举报
回复
而且手机程序和电脑程序 还是有一定区别的
Teln_小凯 2013-11-20
  • 打赏
  • 举报
回复
手机有专门手机网站的开发,兼容问题吧

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧