如何使用node.js从服务器向Angular前端提供30GB的pdf文件(静态)



我已经在Mongodb数据库字段中存储了包含文件的文件夹的路径,但是Angular在构建中没有将文件夹带到src之外,因此无法访问文件夹中的文件,我应该使用res.sendfile((从节点发送文件吗?

有没有办法在不复制 assets 文件夹中的文件夹的情况下访问 Angular 中的文件?由于大小我无法将文件放在 assets 文件夹中。

需要帮助,因为我完全困惑并在这个问题上停留了 2 周以上。

一种创建 Web 服务器并从该文件夹提供文件的简单方法,假设您处于节点.js环境中,您可以使用 Express js 创建 Web 服务器

const express = require('express')
const app = express();
//create a folder named files in the directory put files in this folder.
app.use(express.static('files'))
app.get('/', (req, res) => res.send('Assets server'));

app.listen(3000, () => console.log('listening on port 3000!'))

你可以像这样用网址访问文件(你不需要放在角度资产文件夹中(。

例如

网址
eg:localhost:3000/files/file1.pdf

> 我不是 100% 确定我理解您的问题,但也许您可以使用符号链接将包含所有文件的文件夹链接到您的网站可以访问的另一个文件夹(在 Angular 网站结构下(?

我认为这会有所帮助

const express = require('express');
const app = express();
const fs = require('fs')
app.get('/asset/:pdfname', function (request, response) {
const pdfname= request.params.pdfname;
const tempFile = "./public/pdf/"+ pfdname +".pdf";
fs.readFile(tempFile, function (err, data) {
    response.contentType("application/pdf");
    response.send(data);
  });
});
app.listen(3000, () => {
  console.log('Server is running on Port 3000')
})

在浏览器中调用网址

localhost:3000/asset/pdfname

相关内容

  • 没有找到相关文章

最新更新