テキストファイルがあり、ダウンロードしたい。私はローカルホストで働いています。ファイルのダウンロード元のHTMLページは、localhost:8080から呼び出されます。そして、ダウンロードしたいファイルは、別のポート、つまり 'localhost:100'を使用して呼び出しています。
このようにすると、特定のtxtファイルを取得できません。実際、フォルダーの場所全体がHTML形式でダウンロードされます。この問題を解決するには?
ただし、HTMLとダウンロードURLの両方でポートが同じ場合、その特定のテキストファイルがダウンロードされます。
編集
HTMLページ( http:// localhost:8080/project/test.html )
<HTML>
<HEAD>
<script src="//code.jquery.com/jquery-1.9.1.js"></script>
<script type="text/javascript">
var url="http://localhost:100/test";
var file = "test112.Zip";
saveFile(url,file); // Text Document
alert("File is downloaded");
function saveFile(fileURL,fileName){
if (!window.ActiveXObject) {
var save = document.createElement('a');
save.href = fileURL;
save.target = '_blank';
save.download = fileName || fileURL;
var evt = document.createEvent('MouseEvents');
evt.initMouseEvent('click', true, true, window, 1, 0, 0, 0, 0,
false, false, false, false, 0, null);
save.dispatchEvent(evt);
(window.URL || window.webkitURL).revokeObjectURL(save.href);
}
}
</script>
</HEAD>
<BODY>
</BODY>
</HTML>
これを実行すると、次のファイルがダウンロードされます-
download.html
Download.htmlにあります
/ testのインデックス
localhost:8080はJetty Serverであり、localhost:100はApache Serverです
両方のサーバーに、構成ファイルで定義されたまったく同じドキュメントルートフォルダーがあることを確認する必要があります。 Apacheの新規インストールでは、httpd.confを見て、次のような内容を見つけます。
#
# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
DocumentRoot "/path/to/html"
そして変更:
/path/to/html
テキストファイルがあるフォルダーに。
次に、構成ファイルを変更したWebサーバーを再起動する必要があります。
それでも問題が解決しない場合は、各Webサーバーのエラーログを確認して、各Webサーバーが実際にアクセスしようとしているフォルダーを確認してください。 「見つかりません」という意味のステータス404エラーを探してください。