js cs# 保存文件方法

js: <a href="文件的绝对路径"></a>

C#:  

     ///
        /// c#文件下载
        /// 文件名
        ///
        public void download(string filename)
        {
            string path = Server.MapPath(filename);
            if (!File.Exists(path))
            {
                Response.Write("对不起!文件不存在!!");
                return;
            }
            System.IO.FileInfo file = new System.IO.FileInfo(path);
            string fileFilt = ".asp|.aspx|.php|.jsp|.ascx|.config|.asa|......"; //不可下载的文件,务必要过滤干净
            string fileName = file.Name;
            string fileExt = fileName.Substring(fileName.LastIndexOf(".")).Trim().ToLower();
            if (fileFilt.IndexOf(fileExt) != -1)
            {
                Response.Write("对不起!该类文件禁止下载!!");
            }
            else
            {
                Response.Clear();
                Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(fileName));
                Response.AddHeader("Content-Length", file.Length.ToString());
                Response.ContentType = checktype(HttpUtility.UrlEncode(fileExt));
                Response.WriteFile(file.FullName);
                Response.End();
            }
        }

       private string checktype(string fileExt)//判断文件类型的,用于过滤筛选
        {
            string ContentType;
            switch (fileExt)
            {
                case ".asf":
                    ContentType = "video/x-ms-asf"; break;
                case ".avi":
                    ContentType = "video/avi"; break;
                case ".doc":
                    ContentType = "application/msword"; break;
                case ".zip":
                    ContentType = "application/zip"; break;
                case ".xls":
                    ContentType = "application/vnd.ms-excel"; break;
                case ".gif":
                    ContentType = "image/gif"; break;
                case ".jpg":
                    ContentType = "image/jpeg"; break;
                case "jpeg":
                    ContentType = "image/jpeg"; break;
                case ".wav":
                    ContentType = "audio/wav"; break;
                case ".mp3":
                    ContentType = "audio/mpeg3"; break;
                case ".mpg":
                    ContentType = "video/mpeg"; break;
                case ".mepg":
                    ContentType = "video/mpeg"; break;
                case ".rtf":
                    ContentType = "application/rtf"; break;
                case ".html":
                    ContentType = "text/html"; break;
                case ".htm":
                    ContentType = "text/html"; break;
                case ".txt":
                    ContentType = "text/plain"; break;
                default:
                    ContentType = "application/octet-stream";
                    break;
            }
            return ContentType;
        }

 

    

posted @ 2012-03-22 18:21  呓语  阅读(483)  评论(0编辑  收藏  举报
welcome to this garden! --Chenly