2015-02-07 3 views
1

На машине Windows я есть карту папку доля => Z:/добавления/SendFile абсолютный путь

с помощью экспресс, я использую res.senFile вернуть файл в браузере:

var download = config.file_dir + "/" + file; 
res.sendFile(download); 

загрузить значение Z:/uploads/737237213791239.pdf

Я получаю эту ошибку:

throw new TypeError('path must be absolute or specify root to res.sendFile 

Я даю абсолютный путь?

+1

Возможно, вам не нравится тот факт, что вы его сопоставили (или что путь к диску Windows не выглядит красивым), поскольку подключенные диски ограничены сеансом, на котором вы их сопоставляете. Я бы попытался сначала использовать Обратные косые черты стиля Windows «\» или, во-вторых, UNC-путь. "\\ machinename \ share \ path \ file.ext" – user3710044

+0

Я думаю, что вы правы. – Alvin

ответ

0

Я попал в ту же проблему. Мне было проще настроить мою папку с помощью косой черты, используя путь path.join для отправки. Это должно работать над буквой диска или UNC-контуром.

var path = require("path"); 
config.file_dir = "z:/folder"; 
//use forward slashes for UNC if you wish to use that instead ie //server/share 

var file = path.join(config.file_dir, urlPath); 

res.sendFile(file, (err) => { 
    if (err) { 
     res.status(err.status || 500).send(); 
    } 
}); 
Смежные вопросы