ファイルをダウンロードするにはどうすればいいですか?ブラウザが自動的にプレビューファイルを開くのを防ぐことができます.


ファイルをダウンロードするにはどうすればいいですか?ブラウザが自動的にプレビューファイルを開くのを防ぐことができます.
  • 、よく踏んでください.
  • ピット記録1
  • **window.open()メソッド**
  • ピット記録二
  • *)のaタグ*
  • ピット記録3
  • **window.locations.href方法**
  • 解決問題
  • **XMLttpRequestオブジェクトを使用して*
  • ピットへようこそ
    よく知らないコーディネーターが来てくれて嬉しいです.おめでとうございます.このブログでブラウザの自動プレビューtxtを解決してほしいです.pdfなどのプレビューファイルはこのファイルをダウンロードするのではありません.このブログは私がたくさんのネット上の判例教程を踏んでやっとまとめたものです.
    ピットを踏んで記録します
    window.open方法
    まず、window.openという方法を説明します.
    Windowインターフェースのオープン方法は、指定された名前で指定されたリソースをブラウザコンテキスト(ウィンドウwindow、イントラフレームiframeまたはタグtab)にロードすることです.名前が指定されていない場合は、新しいウィンドウが開き、指定されたリソースがこのウィンドウのブラウザコンテキストにロードされます.
    //         url:https://106.14.15.103:8000/downloadFile/test
    //      
    window.open(url);
    
    この方法は指定されたパスのリソースをブラウザにロードするしかないことは明らかです.このファイルがブラウザでプレビューされないと、ブラウザがこのファイルをダウンロードしますが、ブラウザがこのファイルをプレビューできますか?この方法は実現できないのではないですか?これは私が初めて文書をダウンロードする時に踏んだ穴です.txtテキストをダウンロードするように要求しました.この方法でブラウザでtxtファイルを直接プレビューします.これはつらいですね.引き続き踏みます!!!
    ピットを踏んで記録します
    htmlのaタグ
    aタグのhref属性はダウンロードファイルのパスを指定し、downloadはダウンロードファイル保存時の名前を指定します.この方法もだめらしいです.多くの教程を見ましたが、この方法はファイルをダウンロードするよりもブラウザのプレビューファイルを効果的に解決できると言いました.しかし、私が使う時は解決していないようです.苦悩崩壊!仕方なく踏み続けます.
    <a href="https://106.14.15.103:8000/downloadFile/test" download="test.txt">  </a>
    
    ログ3
    window.location.href方法
    この方法は上のステップ記録と同じです.window.locations.href=「http:/ダウンロード.rar」はダウンロードと同じです.初心者や若いコーディネーターたちのためにも書きます.
    window.location.href="https://106.14.15.103:8000/downloadFile/test"
    
    結果はどうなりましたか?私はあなたに言いません.必ず続けて踏みます.
    問題を解決する
    XMLHttpRequestオブジェクトを使用します.
    XMLHttpRequest対象の紹介については、皆さん自身でMDNを紹介してください.これは私もよく分かりませんので、これは良い友達とチャットして解決してくれます.もし後日牛が迫ったら、善良な心でどんな若いコーディネーターに対応してください.彼たちも進歩を望んでいます.
    function downloadFile(record, fileName) {
      var request = new XMLHttpRequest();
      request.responseType = "blob";//      
      request.open("GET", ServerIP + record);
      request.onload = function () {
        var url = window.URL.createObjectURL(this.response);
        var a = document.createElement("a");
        document.body.appendChild(a);
        a.href = url;
        a.download = fileName
        a.click();
      }
      request.send();
    }
    let url = "https://106.14.15.103:8000/downloadFile/test";
    <button onClick={()=>downloadFile(url,"text.txt")}>  </button>
    //    es6        ,  react  ,              。
    
    原生の書き方
    //      
    <button onclick="downloadFile()">Download</button>
    <script>
    function downloadFile(){
        var request = new XMLHttpRequest();
            request.responseType = "blob";
            request.open("GET", "https://arxiv.org/ftp/arxiv/papers/2001/2001.09612.pdf");
            request.onload = function() {
                var url = window.URL.createObjectURL(this.response);
                var a = document.createElement("a");
                document.body.appendChild(a);
                a.href = url;
                a.download = "your_download.pdf"
                a.click();
            }
            request.send();
    }
    </script>
    
    この時、私を助けてくれたよく知らないネット友達に心から感謝します.このブログはこれで書き終わりました.もし間違っているところがあれば、教えてください.分からないところがあれば、私も教えてください.ありがとうございます.