>  기사  >  웹 프론트엔드  >  브라우저 액세스 경로에서 다운로드 메시지가 표시되지 않고 새 페이지가 표시되는 문제를 해결하는 방법

브라우저 액세스 경로에서 다운로드 메시지가 표시되지 않고 새 페이지가 표시되는 문제를 해결하는 방법

php中世界最好的语言
php中世界最好的语言원래의
2018-03-12 11:35:501708검색

이번에는 브라우저 액세스 경로에서 다운로드 메시지가 표시되지 않고 새 페이지가 표시되는 문제를 해결하는 방법을 알려 드리겠습니다. 다음은 실제 사례를 한 번 살펴보겠습니다.
nodejs 코드를 예로 들면, "/video"에 액세스할 때 브라우저에 내장된 재생 페이지로 점프하겠습니다.

"/frag_bunny.mp4"에 액세스하면 다운로드 프롬프트가 나타납니다.


코드:

var http = require(&#39;http&#39;);var fs = require(&#39;fs&#39;);var url = require(&#39;url&#39;);var routes = {//<====路由
    "/video"(request, response) {
        fs.readFile("frag_bunny.mp4", &#39;binary&#39;, function (err, data) {            if (err) {                console.log(err);
                response.writeHead(500, { &#39;Content-Type&#39;: &#39;text/html&#39; });
            } else {
                response.writeHead(200, { &#39;Content-Type&#39;: &#39;video/mp4&#39; });//<====mp4标识
                response.write(data, &#39;binary&#39;);
            }
            response.end();
        });
    },    "/frag_bunny.mp4"(request, response) {
        fs.readFile("frag_bunny.mp4", &#39;binary&#39;, function (err, data) {            if (err) {                console.log(err);
                response.writeHead(500, { &#39;Content-Type&#39;: &#39;text/html&#39; });
            } else {
                response.writeHead(200, { &#39;Content-Type&#39;: &#39;application/octet-stream&#39; });//<====文件流标识
                response.write(data, &#39;binary&#39;);
            }
            response.end();
        });
    },    "/"(request, response) {
        response.writeHead(200, { &#39;Content-Type&#39;: &#39;text/html&#39; }); 
        response.write(`
            <a target= "_blank" href="/video">打开页面显示播放界面</a>
            <br />
            <a target= "_blank" href="/frag_bunny.mp4">打开页面提示下载</a>
        `);
        response.end();
    },    "/404"(request, response) {
        response.writeHead(404, { &#39;Content-Type&#39;: &#39;text/html&#39; });
        response.write("404");
        response.end();
    }
}// 创建服务器http.createServer(function (request, response) {    // 解析请求,包括文件名
    var pathname = url.parse(request.url).pathname;    // 输出请求的文件名
    console.log("Request for " + pathname + " received.");
    route = routes[pathname] 
    if (route) {
        route(request, response);
    } else {
        routes["/404"](request, response);
    }
}).listen(8889);

믿으세요. 이 기사의 사례를 읽고 나면 방법을 마스터하셨으니 더 흥미로운 정보를 보려면 PHP 중국어 웹사이트

기타

관련 기사를 주목하세요! 관련 읽기:

python3은 어떻게 qq 사서함을 통해 이메일을 보내는가

nodejs는 jsonp를 통해 Single Sign-On 데모를 어떻게 구현합니까

위 내용은 브라우저 액세스 경로에서 다운로드 메시지가 표시되지 않고 새 페이지가 표시되는 문제를 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.