###発生している問題
node.jsで画像ファイルを読み込む際にMIMEタイプをimage/png
、エンコードはbinary
に設定してもWEBページに反映されません
ちなみに、img要素内のalt属性は反映されており、エラーメッセージも無いのでパスが間違っているわけではないようです
また、html/css/jsファイルはちゃんとWEBページに反映されています
###app.js
javascript
1//モジュールの読み込み 2var http = require('http'); 3var socketio = require('socket.io'); 4var fs = require('fs'); 5 6//HTTPサーバを生成 7var server = http.createServer(function(req,res){ 8 var path = ''; 9 var encoding; 10 11 //拡張子を取得 12 var fileName = req.url; 13 var type = fileName.split('.'); 14 15 //MIMEタイプ 16 var mime = { 17 'html':'text/html', 18 'css' :'text/css', 19 'js' :'text/javascript', 20 'jpg' :'image/jpeg', 21 'jpeg':'image/jpeg', 22 'png' :'image/png' 23 }; 24 25 switch(key = type[type.length - 1]){ 26 case 'html': 27 case 'js' : 28 case 'css' : 29 path += fileName; 30 encoding = 'utf-8'; 31 break; 32 33 case 'jpg': 34 case 'jpeg': 35 case 'png': 36 path += fileName; 37 encoding = 'binary'; 38 break; 39 40 default: 41 path += '/index.html'; 42 encoding = 'utf-8'; 43 }; 44 45 res.writeHead(200,{'Content-Type' : mime[key]}); 46 //console.log(__dirname + path + ',' +encoding); 47 res.end(fs.readFileSync(__dirname + path,encoding)); 48}).listen(3000);
自分でいろいろな要因を調べましたが何がいけないのかが分かりませんでした
どなたかご教示いただければ幸いです

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/07/27 10:35