【问题标题】:Get real image path from json response从 json 响应中获取真实的图像路径
【发布时间】:2017-08-29 20:39:06
【问题描述】:

我有一个提供 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 文件夹中。为了节省空间,这里没有显示

【问题讨论】:

  • 好像给定的元素代表的是图片的绝对路径,使用可以简单的使用src来渲染绝对URL。
  • 它给了我一个 404 状态响应 (localhost://server/img/xyz.jpg)...我认为尝试使用绝对路径访问服务器中的文件是个问题
  • 你应该先把url写正确..像localhost/server/img/xyz.jpg
  • 抱歉 url 是正确的..额外的 '/' 只是一个错字
  • 如果问题还没有解决。请务必提供处理图像的服务器代码...

标签: javascript json api express


【解决方案1】:

经过反复思考,终于找到了解决办法。

我已将服务器中的“静态”文件夹定义为“server/img”。但是,在 json 对象中,我再次为图像文件分配了绝对路径。我需要做的就是 'server/image/imgFileName.jpg' 来解决冲突 :))

【讨论】:

    【解决方案2】:

    基于@Tolsee 的cmets:

    将图像放在“公共”文件夹中。 (/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
    

    根据您的项目结构,可能需要一些配置。

    【讨论】:

    • 啊,我明白了。我有从“公共”文件夹提供静态文件的相同配置,但图像位于“服务器”文件夹中。所以我想添加行 app.use(express.static('/server/img')) 就足够了..我现在就检查一下
    • 我无法将图像放入公用文件夹,因为我需要模拟图像来自服务器
    • 你用什么 url 来检索图像?如果您仍想使用 localhost/server/img 访问它们,则必须更改为 app.use('/server/img',express.static('/server/img'));
    • 我没有使用 url...只是 img 文件夹内文件的绝对路径(位于服务器文件夹内)
    • 因此,您想从您的前端使用绝对路径访问位于服务器上的文件吗?据我所知,这是不可能的。您将始终需要调用您的快递服务器来请求图像。为什么从公用文件夹中访问它们还不够?还有一个你可能感兴趣的话题link
    猜你喜欢
    • 1970-01-01
    • 2016-11-19
    • 2021-09-15
    • 1970-01-01
    • 2018-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多