2016-05-25 5 views
1

こんにちは、私はNode.JSが比較的新しく、このトピックについて多くのことを読んでいます。しかし、私は難局です。私は、ファイルの絶対パスを取得しようとしています:ノードJs Expressと可能であればajaxを使用して絶対URLパスを取得する

例: https://localhost:8080.../public/img/apple.jpg

を代わりに私は戻って、コンソールで、または単に通常の印刷されたものを取得していない午前:

/公共/ IMG 、apple.jpg

以下は、私がノードで実行しているjavsscriptファイルです。私はいくつかのことを試したので、 "初心者"に見えたら謝りますが、おそらく最も近いと思います。

注:私は 'app.get'機能の中でたくさん試しましたが、決してコンソールに出力されないようです。

var fs = require('fs'); 
var http = require("http"); 
var http = require("http"); 
var url = require("url"); 
var req = require('request') 

http.createServer(function (request, response) { 
response.writeHead(200, {'Content-Type': 'text/plain'}); 

    var express = require('express'); 
    var app = express(); 
    var path = require('path'); 

    app.get('../img/apple.jp', function(req, res) { 
     var dir = req.params.dir; 
     console.log(req.originalUrl) 

     var pathname = url.parse(req.url).pathname; 
     var fullUrl = req.protocol + '://' + req.originalUrl; 

     console.log("Request for " + pathname + " received."); 
     console.log("test" + fullUrl); 

     // res.sendFile(path.join(__dirname + 'sliderImages.json')); 
     var fullUrl = req.protocol + '://' + req.get('host') + req.originalUrl; 
     console.log(fullUrl); 
}); 

私は以下のようにしていることを行っている以下のリンクのいくつか:

  1. https://nodejs.org/api/path.html
  2. Get application full path in Node.js
  3. How do I get the path to the current script with Node.js?
  4. How to get the full url in Express?

私も他の人に行ってきましたが、私はこれらが私が読んだことから最も近いと思います。特に4番です。これを達成するための助けがあれば大いに感謝しています。私は現在約4時間にわたって複数のことを試してきましたが、これを働かせるようには見えません。前もって感謝します。

+0

'path.resolve'を試しましたか? https://millermedeiros.github.io/mdoc/examples/node_api/doc/path.html#path.resolve – bozdoz

答えて

0
  • g../img/apple.jpに忘れました。
  • http を2回入力してください。
  • あなたのapp.getにreqオブジェクトがありますが、その代わりに を使用してください。
+0

残念ながら、それは問題ではありません。私は修正を行いましたが、まだ何もしていません。私はすぐにここで更新します – L1ghtk3ira

+0

申し訳ありませんので、私はhttpCreateServerの内部にapp.getを持っていた問題が何であるかを考え出しました。それを取り出して別の港に持っていなければならなかった。唯一の問題は、私がapp.get(ファイル – L1ghtk3ira

+0

@ l1ghtk3iraでファイルを見つけるために与えたパスがわからないことです。多分、あなたは[express.static()](http://expressjs.com/en/ starter/static-files.html)を使用して静的ファイルを提供します。 – Martial

0

(の他のコードのコピー/過去には注意してください)問題は、app.getが、それは自身ポートです持っている必要があります(初心者用)でした。私はhttp.CreateServerの中で試していました。しかし、それは外に出て、電話をかけるための独自のポートを持つ必要があるようです。

var fs = require('fs'); 
var http = require("http"); 

var express = require('express'); 
var app = express(); 
var path = require('path'); 
var http = require("http"); 
var url = require("url"); 
var req = require('request') 
http.createServer(function (request, response) { 

    response.writeHead(200, {'Content-Type': 'text/plain'}); 

    contents = fs.readFileSync("sliderImages.json", "utf8"); 

    response.end(contents); 
}).listen(8080); 

app.get('sliderImages.json', function(req, res) { 
    var dir = req.params.dir; 
    console.log(req.originalUrl) 
    var pathname = url.parse(req.url).pathname; 
    var fullUrl = req.protocol + '://' + req.originalUrl; 
    console.log("Request for " + pathname + " received."); 
    console.log("test" + fullUrl); 

    var fullUrl = req.protocol + '://' + req.get('host') + req.originalUrl; 
    console.log(fullUrl); 

    res.send(url.parse(req.url).pathname); 

}); 

app.listen(3000); 
関連する問題