質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

1回答

2662閲覧

HTMLページ上で拡張子が「.log」のファイルをWEB表示できない

s-hara

総合スコア52

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2018/10/25 04:11

以下のようなHTMLで、「test.logwを表示」を。

クリックさせたときにWEBページ上に
test.logの内容を表示させたい。

<h3><a href={% <file_path>/test.log'%}>test.logを表示</a></h3>

WEBに表示されている「test.logを表示」をクリックすると以下のメッセージが表示されてファイルの内容が表示できません。

404 - ファイルまたはディレクトリが見つかりません。 検索中のリソースは削除された可能性があります。または、名前が変更されたか、一時的に使用不可能になっています。

※test.logファイルはWEBサーバ上にあるファイルです。
※なお、拡張子をtest.txtに変更すると問題なくWEBにファイルの内容が表示されます。
拡張子が「.log」の場合もファイルの内容をWEBに表示させるにはどうしたらよいのでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

この問題はJavaScript単体の問題ではなさそうですね……。

JavaScriptを動作させているWebサーバーはご自身で構築したものでしょうか?
もしそうでしたらWebサーバーの設定で MINEタイプ というものの設定に
.log を閲覧可能にする」
様に書き加えが必要です。

古い老舗Webサイトですが、
MIMEタイプの追加(AddType) - コンテンツの設置 - Apache入門
が参考になるかもしれません。

P.S.

質問のソースコード、

javascript

1<h3><a href={% <file_path>/test.log'%}>test.logを表示</a></h3>

{%, %} ですが、これはなにかのHTMLテンプレートエンジンやWebフレームワークのテンプレートエンジンの記法でしょうか。
もしそうでしたら、利用しているHTMLテンプレートエンジンやWebフレームワークを質問に加筆・タグ付けを行うと、回答しやすいと存じ上げます。

投稿2018/10/25 04:26

manzyun

総合スコア2244

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

s-hara

2018/10/25 04:42

ご回答ありがとうございました。 WEBサーバはIISで独自に構築した環境です。 ご回答いただいた通りIISのMINEタイプに.logを追加したところ参照できるようになりました。 こんな設定もあるんですね・・・ ありがとうございました!
s-hara

2018/10/25 05:06

情報ありがとうございます。お察しの通りDjango環境です。 本欄別スレを立てるべきかもしれませんが、ついでに以下の様な問題にぶち当たりましたので、もし知見がありましたらご教授いただけますと幸いです。 OS上にあるログファイルをWEB上で参照したいため、Djangoで以下のようなViewとテンプレートを設定したところ、表示されたログファイルのリンクをクリックすると以下のように文字化けされたパスにリンクしてしまいました。 http://*****/static/txt/%7B%7Blogfile%7D%7D ※ログファイルは静的フォルダのtxtフォルダ配下に存在しています。 ※実際のファイル名は「20181025_085151_GET_TEST.log」という感じです。 WEB上にはファイル名が正常に表示さているが、表示されれているファイル名のリンクをクリックすると ファイル名部分{{logfile}}が「%7B%7Blogfile%7D%7D」のように文字化けしてしまうといった状況です。 ■views.pyの設定 def log_view(request): #ログファイルのファイル名一覧を取得 os.chdir(batch_log_dir) log_list = glob.glob("*") return render(request, 'log_view.html',{ 'log_list': log_list }) ■テンプレート側 {% for logfile in log_list %}  <a href={% static 'txt/{{logfile}}' %}>{{logfile}}</a> {% endfor %}
manzyun

2018/10/25 07:31

{% static 'txt/{{logfile}}' %} この書き方だと確かに {{, }} は文字列として認識されて、パースされてしまいますね。 あまりDjangoは詳しくないのですが、テンプレート側を改修するか、モデル側のメソッドでうまくやるかですかね。 別スレを立てれば有益な情報が得れるかもしれませんね ;)
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問