Node.js将文件发送到客户端:GET ERR_INCOMPLETE_CHUNKED_ENCODING 200(确定)

时间:2020-08-04 15:54:36

标签: javascript html node.js three.js

我已经尝试将文件从本地node.js服务器发送到客户端index.html已有一段时间了,但没有成功。客户端正在使用three.js。这是下面的代码和问题:

app.js:

var express = require('express');
var app = express();
var http = require('http').createServer(app);
var io = require('socket.io')(http);
var THREE = require('three');
var fs = require('fs');
var path = require('path');


var publicPath = path.resolve(__dirname);
console.log("publicPath: "+String(publicPath))
console.log("__dirname: "+String(__dirname))

app.get('/', function(req, res) {
    res.sendFile(__dirname + '/index.html');
});

app.get('/rook.amf', function(req, res) {
    console.log('test1 ::  '+String(__dirname + '\\rook.amf'))
    res.write(__dirname + '\\rook.amf'); // there's a javascript loader trying to get this file!
});


io.on('connection', (socket) => {
  console.log('a user connected');
});

http.listen(3000, () => {
  console.log('listening on *:3000');
});

index.html中的相关Javascript:

var loader = new THREE.AMFLoader(); 
        loader.load('/rook.amf', function ( amfobject ) { //'/models/rook.amf'

            scene.add( amfobject );
            render();

} );

现在,当我特别刷新网页时,没有任何结果,也看不到窗口。下面的代码直接从教程中获取,将在页面中心显示rook.amf 3D模型。

参考: https://threejs.org/examples/webgl_loader_amf.html(演示) https://github.com/MiLeung/TiltCoaster/blob/master/serve/three/examples/webgl_loader_amf.html(代码)

有人建议我尝试通过在Web浏览器中打开以下文件来直接访问文件,并查看文件是否下载:

http://localhost:3000/rook.amf

它没有下载,并且出现了一个我不明白的错误:

GET http://localhost:3000/rook.amf net::ERR_INCOMPLETE_CHUNKED_ENCODING 200 (OK)

经过大量搜索之后,我仍然没有弄清楚如何将我的rook.amf文件(或与此相关的任何3D模型文件)发送到index.html中客户的javascript代码。我该怎么办?

0 个答案:

没有答案