首页 > 解决方案 > 使用 Axios 调用从目录中获取所有图像

问题描述

我正在尝试创建一个在 localhost 上运行良好的简单画廊。我使用 Axios 库从单个目录中获取所有图像,然后映射传入的结果,并将所有图像打印在网格中。

同样的事情在我已将文件上传到的真实服务器上不起作用 - 请求返回 403 Forbidden 错误,这似乎很公平,因为图像目录中没有 index.html 文件。我可以毫无问题地访问特定图像,但我仍然想使用 axios/fetch 调用从目录中获取所有图像。

我试过添加一些 htaccess 规则,但我对这些不太熟悉,所以没有运气。我已经更改(仅出于测试目的,不用担心!)每个文件的权限为 777,仍然没有运气。

我很感激有关如何处理此问题的任何提示,因为我对服务器和其他东西不太熟悉。

调用的代码很简单,所以我认为这里没有问题。也许我需要包含一些标题?

  const getImages = () => {
  axios.get(helpers.galleryDir)
    .then(res => createImages(res.data, helpers.galleryDir))
    .catch(err => handleError(err));

谢谢!

标签: javascript.htaccesspermissions

解决方案


对于任何有类似问题的人:

我添加了一个

Options +Indexes

到我的.htaccess。现在,Axios 调用返回了一个类似 HTML 的文档,其中包含标签中的所有图像名称,因此我使用了一些正则表达式来获取这些名称,然后像往常一样映射图像数组。


推荐阅读