C#,浏览器打开页面时下载文件

1、初版

 public void ProcessRequest(HttpContext context)
        {
            var curResponse = context.Response;
            var curRequest = context.Request;


            var oid= curRequest.QueryString["oid"];
            try
            {
  

               //1、根据oid查询到文件相对路径:dtRow

               //2、获取绝对路径

                var filePath = context.Server.MapPath(@"~\"+ Path.Combine(dtRow.Rows[0]["Location"].ToString(), dtRow.Rows[0]["FileName"].ToString()));
          
                //if (!File.Exists(filePath))
                //{
                //    throw new Exception("文件不存在!" + filePath);
                //}

                var buffer = File.ReadAllBytes(filePath);
                curResponse.Clear();
                curResponse.ClearHeaders();
                curResponse.Buffer = false;
                curResponse.Charset = "utf-8";
                curResponse.ContentEncoding = System.Text.Encoding.UTF8;
                curResponse.AppendHeader("Content-Disposition", "inline;filename=" + dtRow.Rows[0]["docname"]);
                curResponse.ContentType = "application/octet-stream";
                curResponse.BinaryWrite(buffer);
            }
            catch (Exception ex)
            {
                curResponse.Write(ex.Message);
            }
            curResponse.End();
        }

2)上线后发现,苹果手机下载文件时乱码,调整ContenType为pdf

curResponse.ContentType = "application/pdf";

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值