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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

Q&A

解決済

2回答

5624閲覧

node.jsで建てたサーバー内にある画像にアクセスする方法

niship

総合スコア37

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

0グッド

0クリップ

投稿2017/12/05 23:25

編集2017/12/05 23:29

初歩的な質問かと思いますが、ご教示頂けますと幸いです。
node.jsでサーバーを建てています。
サーバーと同じフォルダの中にimagesフォルダを作成して、そのフォルダ内に画像ファイルを入れています。

サーバーを起動させている状態で、ブラウザからその画像ファイルにアクセスするにはどうすればいいのでしょうか?
サーバーを起動した時点で、その画像ファイルにアクセスするURLが決まっているのでしょうか?

フォルダ構成は以下のようになっております。

serverフォルダ
ーserver.js
ーimagesフォルダ
ーーxxx.png
ーーxxx.jpg
ーnode.moduleフォルダ

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

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

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

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

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

guest

回答2

0

server.js

app.use(serveStatic(__dirname + '/'))
などの記述がありましたらそこからのURLでアクセスできます

ーserver.js ーweb ーーimagesフォルダ ーーーxxx.png ーーーxxx.jpg ーnode.moduleフォルダ
var serveStatic = require('serve-static') app.use(serveStatic(__dirname + '/web'))

/images/xxx.png
でアクセスできます

投稿2017/12/06 00:10

date

総合スコア1820

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

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

niship

2017/12/06 01:45

data様 ご回答有難う御座います。 app.useのappはexpressのことでしょうか? expressを導入していなかったので、導入してから、 server.js内に、 var express = require('express'); var app = express(); var serveStatic = require('serve-static'); app.use(serveStatic(__dirname + '/web')); と記述しました。 サーバーを起動したのちに、 http://IPアドレス:ポート番号/images/xxx.png のurlでは、画像が表示されないのですが、 どこが間違っているのか、わかりません。 ご教示頂けますと幸いです。
guest

0

ベストアンサー

この記事を参考にしてください。

これで行けるか確認してみてください。

JavaScript

1// server.js 2var express = require('express'); 3 4app = express(); 5app.use('/images', express.static(__dirname + '/images')); 6app.listen(3000);

Q. なぜこんな事を書かないといけないの?
A. Apacheじゃないからです。

Apacheは根っこの目的が静的ファイルを配布するWebサーバーアプリです。
「ApacheでこのディレクトリとURLを紐付けるよ」と設定しておけば、
あとはApacheがよしなにファイルを探して配布してくれるわけですね。

しかもキャッシュ機能やPHPモジュールやCGIを裏で起動してよしなにやってくれる便利機能付き。
なのでPHPのWebサーバーはあんなに簡単に立ち上げられるわけです。

投稿2017/12/06 03:06

miyabi-sun

総合スコア21158

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

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

niship

2017/12/06 09:05

miyabi-san様、とても丁寧にご回答頂き、有難う御座います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問