2016-07-02 2 views
0

Экспресс читает этот путь запроса - /wiąz.txt как /wiÄz.txt, и я получаю /wiÄz.txt doesn't exist, но wiąz.txt существует. Можно ли читать символы utf8 в пути запроса?Чтение символов UTF8 в req.path с использованием Express.JS в узле

var express = require('express'); 
var fs = require('fs'); 
var app = express(); 
app.set('etag', false); 
app.set('x-powered-by', false); 

app.route('*').all(function(req, res) { 
    res.set('Content-Type', 'text/plain'); 

    try { 
     var file = fs.readFileSync('.' + req.path, 'utf8'); // req.path starts always with /, the result is ./FILE 
     res.send(file); 
    } catch (e) { 
     res.send(req.path + " doesn't exist"); 
    } 
}); 

app.listen(80, function() { 
    console.log('HTTP Server is now running on port 80'); 
}); 
+0

Можете ли вы разместить свой код? –

+0

Готово. Смотрите еще раз. –

+0

проверить это 'fs.readFileSync ('.' + DecodeURIComponent (req.path) + '. Txt', 'utf8')' –

ответ

1

Попробуйте это.

var file = fs.readFileSync('.' + decodeURIComponent(req.path), 'utf8'); 
res.send(file); 
Смежные вопросы