您的位置:首页 > 其它

ajax 实现文件下载 【转】

2015-10-12 19:59 447 查看
<script type="text/javascript">

        function DownLoad(strUrl) { 

            var form = $("<form>");   //定义一个form表单

            form.attr('style', 'display:none');   //在form表单中添加查询参数

            form.attr('target', '');

            form.attr('method', 'post');

            form.attr('action', "/QuestionInfo/DowmLoad");

            var input1 = $('<input>');

            input1.attr('type', 'hidden');

            input1.attr('name', 'strUrl');

            input1.attr('value', strUrl);

            $('body').append(form);  //将表单放置在web中 

            form.append(input1);   //将查询参数控件提交到表单上

            form.submit();

         }

    </script>

后台代码

 #region 文档下载

        /// <summary>

        /// 文件下载函数

        /// </summary>

        /// <param name="fileUrl"></param>

        /// <returns></returns>

        [HttpPost]

        public void  DowmLoad(string strUrl)

        {

            try

            {

                string fullPathUrl = Server.MapPath(strUrl);//获取下载文件的路劲

                System.IO.FileInfo file = new System.IO.FileInfo(fullPathUrl);

                if (file.Exists)//判断文件是否存在

                {

                    Response.Clear();

                    Response.ClearHeaders();

                    Response.Buffer = false;

                    Response.AddHeader("content-disposition", "attachment;filename=" + file.Name);

                    Response.AddHeader("cintent_length", "attachment;filename=" + HttpUtility.UrlDecode(file.Name));

                    Response.AddHeader("cintent_length", file.Length.ToString());

                    Response.ContentType = "application/octet-stream";

                    Response.WriteFile(file.FullName);//通过response对象,执行下载操作

                    Response.Flush();

                    Response.End();

                    

                }

                

            }

            catch(Exception e)

            {

                Console.Write(e.ToString());

            }

        }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: