中文字幕精品亚洲无线码二区,国产黄a三级三级三级看三级,亚洲七七久久桃花影院,丰满少妇被猛烈进入,国产小视频在线观看网站

將不(bu)確定變(bian)成確定~Uri文本(ben)文件不(bu)用瀏(liu)覽器自動打開,而是(shi)下載(zai)到本(ben)地

回到目錄

這(zhe)個(ge)標題(ti)(ti)(ti)有(you)點長,簡單來說就(jiu)(jiu)是(shi),對(dui)于(yu)一個(ge)文件(jian)下(xia)載來說,是(shi)否可以提(ti)示用戶,讓它去保(bao)存,而不(bu)是(shi)將(jiang)它在(zai)瀏(liu)(liu)覽器中打(da)開,在(zai)瀏(liu)(liu)覽器中打(da)開有(you)個(ge)致(zhi)命問題(ti)(ti)(ti),那就(jiu)(jiu)是(shi),如果你的(de)頁面編碼(ma)和文件(jian)的(de)編碼(ma)不(bu)一致(zhi)時,打(da)開的(de)就(jiu)(jiu)是(shi)亂碼(ma),本文事(shi)實上主要解(jie)決的(de)就(jiu)(jiu)是(shi)這(zhe)個(ge)問題(ti)(ti)(ti)。

上面的URI格式的文(wen)件直接使用瀏覽(lan)器打(da)開,由于文(wen)件編(bian)碼(ma)(ma)是(shi)GB2312而網頁編(bian)碼(ma)(ma)是(shi)UTF-8,所以,頁面上的文(wen)字就變(bian)成了亂碼(ma)(ma)。

知道(dao)了(le)產生問題的(de)根源之后(hou),我(wo)們再(zai)來解決它,首先,我(wo)們沒法(fa)去控(kong)制(zhi)URI上的(de)文件編碼,所以,我(wo)們只能把它讀到本(ben)地(di)(WWW服(fu)務器),然后(hou)再(zai)進行(xing)二次組織,并返(fan)回到客(ke)戶(hu)端(自己(ji)的(de)瀏覽器),對于URI的(de)文件來說,我(wo)們不能直接返(fan)回,必(bi)須把它讀成流之后(hou),再(zai)返(fan)回,其實(shi),.net為我(wo)們已經封裝的(de)很簡便了(le),下面是實(shi)現的(de)代碼,大家看一下:

       /// <summary>
        /// 下載文件(jian),同步支持本地和(he)URI的文件(jian)
        /// </summary>
        /// <param name="path"></param>
        /// <returns></returns>
        public ActionResult DownLoad(string path)
        {
            if (path.IndexOf("//") < 0)
            {
                string localPath = Server.MapPath("/" + path);
                string contentType = MimeMapping.GetMimeMapping(localPath);
                return File(localPath, contentType, "下載(zai)文件");
            }
            else
            {
                HttpWebRequest request = (HttpWebRequest)System.Net.WebRequest.Create(path);
                HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                Stream stream = response.GetResponseStream();
                var contentType = response.ContentType;//獲(huo)得文件(jian)的(de)總大小
                return File(stream, contentType, "下載(zai)文件(jian)");
            }
        }

下載是視頻截圖:

回到目錄

posted @ 2014-08-15 14:36  張占嶺  閱讀(1882)  評論(0)    收藏  舉報