ホームページ  >  記事  >  ウェブフロントエンド  >  ブラウザのアクセスパスでダウンロードを促すメッセージが表示されず、新しいページが表示される問題の解決方法

ブラウザのアクセスパスでダウンロードを促すメッセージが表示されず、新しいページが表示される問題の解決方法

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 中国語 Web サイト

その他の

関連記事に注目してください。 関連記事:

Python3はQQメールボックスを介して電子メールをどのように送信しますか

nodejsはjsonpを介してシングルサインオンを実装する方法

以上がブラウザのアクセスパスでダウンロードを促すメッセージが表示されず、新しいページが表示される問題の解決方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。