我有一个提供json文件的本地快速服务器。我在本地文件夹中也有很多图像文件。图像路径是我想在DOM中显示的json对象的一部分。但是我得到这些图像路径的字符串表示作为响应的一部分,我无法使用。从本地服务器向本地服务器提供本地映像的最佳方法是什么?
我的服务器端配置:
app.use(express.static(path.join(__dirname, 'public')))
app.use(express.static(path.join(__dirname, 'server/img')))
我的JSON文件
{
"Images": [{
"title": "First Block",
"images": ["server/img/bijay.jpg", "server/img/dance.png", "server/img/ocean.jpg"]
}, {obj2}, {obj3}, {obj4}]
}
我的客户端代码打印图片
<ul>
<li ng-repeat="obj in objArray"><img ng-src="{{obj.images[0]}}"></li>
</ul>
// just testing first image
我的文件夹结构:
图像位于img文件夹中。这里没有显示节省空间
答案 0 :(得分:2)
经过大量的反思,我找到了解决方案。
我已将服务器中的'static'文件夹定义为'server / img'。但是,在json对象中,我再次为图像文件指定了绝对路径。我需要做的只是' server / image / imgFileName.jpg'来解决冲突:))
答案 1 :(得分:1)
基于@Tolsee的评论:
将图像放在“公共”文件夹中。 (/public/img/dance.png) 然后在您的快递应用中添加以下行:
let app = express();
app.use(express.static(path.join(__dirname, 'public')));
图片将随以下网址提供:
localhost:port/img/dance.png
您可以只提供/ server / img,然后使用以下内容:
let app = express();
app.use(express.static('/server/img'));
localhost:port/dance.png
根据您的项目结构,可能需要一些配置。