var express = require('express') var app = express(); const fs = require('fs'); const path = require('path') app.get('/getname', function (request, response) { console.log(request); let books = { "status": 200, "msg": "数据获取成功", "data": "我就是接口返回回来的数据" } response.send(books) }) app.get('/picfile', function(request, response) { console.log(request) let ret = "接口请求到了" response.send(ret) }) app.get('/getfile', (req, res) => { res.setHeader('Access-Control-Allow-Origin', 'http://localhost:8080'); const filePath = './public/GM - 0.dxf'; const stream = fs.createReadStream(filePath); res.send(stream) }) var server = app.listen(3000,function(){ console.log('服务器启动了'); }) 这串代码中,怎么把dxf后缀的文件传给前端threejs中使用
时间: 2024-03-14 09:46:09 浏览: 126
详解express + mock让前后台并行开发
在这段代码中,你需要将 DXF 文件的内容读取到内存中,并将其作为响应发送给前端。可以使用 fs 模块的 readFile 方法读取文件,然后使用 response.send 方法将文件内容作为响应发送给前端。例如,你可以修改 getfile 路由的代码如下:
```
app.get('/getfile', (req, res) => {
res.setHeader('Access-Control-Allow-Origin', 'http://localhost:8080');
const filePath = './public/GM - 0.dxf';
fs.readFile(filePath, (err, data) => {
if (err) {
console.error(err);
res.send('读取文件失败');
return;
}
res.send(data);
});
})
```
然后,在前端中使用 XMLHttpRequest 或者 fetch API 来请求这个接口,并将响应内容解析为 DXF 文件格式。具体的实现可以参考 three.js 的官方文档或者相关教程。
阅读全文