Maison >interface Web >js tutoriel >Comment résoudre le problème selon lequel le chemin d'accès du navigateur ne demande pas de téléchargement mais affiche une nouvelle page

Comment résoudre le problème selon lequel le chemin d'accès du navigateur ne demande pas de téléchargement mais affiche une nouvelle page

php中世界最好的语言
php中世界最好的语言original
2018-03-12 11:35:501808parcourir

Cette fois, je vais vous montrer comment résoudre le problème de l'affichage d'une nouvelle page lorsque le chemin d'accès du navigateur ne demande pas de téléchargement. Quelles sont les précautions pour résoudre le problème de l'affichage d'une nouvelle page lorsque. le chemin d'accès du navigateur ne demande pas de téléchargement ? Voici quelques cas pratiques.

En prenant le code nodejs comme exemple, je passerai à la page de lecture intégrée du navigateur en accédant à "/video".
En accédant à "/frag_bunny.mp4", une invite de téléchargement. apparaîtra.

Code :

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);

Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez faire attention au site Web php chinois <.>autres articles connexes !

Lecture connexe :

Comment envoyer des e-mails via la boîte aux lettres qq en python3

Comment implémenter une démo d'authentification unique dans nodejs via jsonp

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn