如何将我服务器中的文件下载到访问nodeJS服务器中页面的计算机?
我正在使用ExpressJS而且我一直在尝试这个:
app.get('/download', function(req, res){
var file = fs.readFileSync(__dirname + '/upload-folder/dramaticpenguin.MOV', 'binary');
res.setHeader('Content-Length', file.length);
res.write(file, 'binary');
res.end();
});
Run Code Online (Sandbox Code Playgroud)
但我无法获取文件名和文件类型(或扩展名).任何人都可以帮助我吗?
如果我做了
res.sendfile('public/index1.html');
Run Code Online (Sandbox Code Playgroud)
然后我得到一个服务器控制台警告
不推荐使用
res.sendfile
:res.sendFile
改为使用
但它在客户端工作正常.
但是当我改变它
res.sendFile('public/index1.html');
Run Code Online (Sandbox Code Playgroud)
我收到一个错误
TypeError:path必须是绝对路径或指定root到
res.sendFile
并且index1.html
没有呈现.
我无法弄清楚绝对路径是什么.我的public
目录与...相同server.js
.我做了res.sendFile
从server.js
.我也宣布了app.use(express.static(path.join(__dirname, 'public')));
添加我的目录结构:
/Users/sj/test/
....app/
........models/
....public/
........index1.html
Run Code Online (Sandbox Code Playgroud)
这里指定的绝对路径是什么?
我正在使用Express 4.x.
我是新来的表达。我已经使用 express 生成器制作了一个带有 express 后端的简单反应前端,目前,这是我发送 JSON 数据的方式:-
var express = require("express");
var router = express.Router();
router.get("/", function(req, res, next) {
var jsonData = {"name": "manav"};
res.json(jsonData);
});
module.exports = router;
Run Code Online (Sandbox Code Playgroud)
但是如何从 JSON 文件发送数据呢?我尝试在同一目录中创建一个 JSON 文件并像 res.json('./jsonFile'); 一样发送它。但它不起作用。有人可以帮我吗?