• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C#a标签请求下载文件

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

 

服务器文件后台处理方式:

a标签:

<a href="/FileUpload/DownloadFile?file=/UploadFiles/File/bfcd676b-13a8-4195-b85b-59d9b9ca35e3.doc" title="下载"><span class="fa fa-arrow-circle-down"></span></a>

后台:

        /// <summary>
        /// 根据路径下载文件,主要用于生成的文件的下载
        /// </summary>
        /// <param name="file">文件路径</param>
        /// <returns></returns>
        public ActionResult DownloadFile(string file)
        {
            string realPath = Server.MapPath(file);
            if (!FileUtil.IsExistFile(realPath))
            {
                return null;
            }
            string saveFileName = FileUtil.GetFileName(realPath);
            
            Response.WriteFile(realPath);
            Response.Charset = "GB2312";
            Response.ContentEncoding = Encoding.GetEncoding("GB2312");
            Response.ContentType = "application/ms-excel/msword";
            Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(saveFileName));
            Response.Flush();
            Response.End();

            return new FileStreamResult(Response.OutputStream, "application/ms-excel/msword");
        }

 

二进制转文件处理方式(需要文件名和二进制数据):

a标签:

<a href="/DWGVersion/GetFilesByID?id=162" title="下载"><span class="glyphicon glyphicon-download"></span></a>

后台:

public ActionResult GetFilesByID(string id)
        {
                var dwgVersion = BLLFactory<DWGVersion>.Instance.GetDataById(id);
                if (dwgVersion==null||dwgVersion.DrawingContent == null || dwgVersion.DrawingContent.Length == 1)
                {
                    return null;
            }
            Response.Clear();
            String strFileName = dwgVersion.FileName;//文件名称
            Response.ContentType = "APPLICATION/OCTET-STREAM";
            Response.AddHeader("content-disposition", "attachment;filename=" + HttpUtility.UrlEncode(strFileName));
            Response.Buffer = true;
            Response.BinaryWrite(dwgVersion.DrawingContent);//二进制数据
            Response.Flush();
            Response.End();

            return new FileStreamResult(Response.OutputStream, "application/ms-excel/msword");

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C#如何使用帮助及如何关联到F1键发布时间:2022-07-13
下一篇:
C#多线程顺序依赖执行控制发布时间:2022-07-13
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap