要解决不允许从另一台机器加载本地图像的问题,可以使用服务器端代码来获取本地图像并将其发送给客户端。以下是一个使用Node.js和Express框架的示例代码:
const express = require('express');
const app = express();
app.get('/image', (req, res) => {
// 检查请求的来源是否是另一台机器
const referer = req.headers.referer || '';
if (!referer.includes('localhost')) {
res.status(403).send('Forbidden');
return;
}
// 加载本地图像并发送给客户端
const imagePath = '/path/to/local/image.jpg';
res.sendFile(imagePath);
});
app.listen(3000, () => {
console.log('Server is running on port 3000');
});
在上述代码中,我们使用Express创建了一个服务器,并在/image
路由上定义了一个GET请求处理程序。在处理程序中,我们首先检查请求的来源(referer
标头)是否包含了localhost
,如果不是则返回403 Forbidden错误。如果来源合法,我们使用res.sendFile()
方法将本地图像发送给客户端。
请将/path/to/local/image.jpg
替换为实际的本地图像路径。另外,您还可以根据需要修改服务器的端口号(在app.listen()
中)。
这样,客户端在从服务器请求图像时,服务器将首先检查请求的来源是否合法,只有合法来源才能获取本地图像。