【问题标题】:Show all images in a directory on an html page automatically自动显示html页面目录中的所有图像
【发布时间】:2019-07-03 01:14:50
【问题描述】:

我的服务器上有一个名为“Uploads”的目录。它充满了用户上传的图像。每次有人上传图像时,都会将其添加到目录中。我正在使用 css 属性 display: grid; 让我的图像处于一个漂亮的网格中。这是基本布局:

.imgSet {
            float: left;
            display: block;
            margin-left: auto;
            margin-right: auto;
        }
        
        .imgSet div {
            float: left;
            width: 30%;
            background-color: #333;
            border: 2px solid lightgrey;
        }
        
        .downloadImg {
            width: 95%;
            display: block;
            margin-left: auto;
            margin-right: auto;
        }
<div class="imgSet">
                <div>
                    <a href="https://jeffthecow.com/assets/images/jeffinSpace.jpg" download><img class="downloadImg" class="downloadImg" src="https://jeffthecow.com/assets/images/jeffinSpace.jpg"><h3>Click an image to download it.</h3></a>
                </div>
                <div>
                    <a href="https://jeffthecow.com/assets/images/jeffinSpace.jpg" download><img class="downloadImg" class="downloadImg" src="https://jeffthecow.com/assets/images/jeffinSpace.jpg"><h3>Click an image to download it.</h3></a>
                </div>
                <div>
                    <a href="https://jeffthecow.com/assets/images/jeffinSpace.jpg" download><img class="downloadImg" class="downloadImg" src="https://jeffthecow.com/assets/images/jeffinSpace.jpg"><h3>Click an image to download it.</h3></a>
                </div>
                <br>

                <div>
                    <a href="https://jeffthecow.com/assets/images/jeffinSpace.jpg" download><img class="downloadImg" class="downloadImg" src="https://jeffthecow.com/assets/images/jeffinSpace.jpg"><h3>Click an image to download it.</h3></a>
                </div>
                <div>
                    <a href="https://jeffthecow.com/assets/images/jeffinSpace.jpg" download><img class="downloadImg" class="downloadImg" src="https://jeffthecow.com/assets/images/jeffinSpace.jpg"><h3>Click an image to download it.</h3></a>
                </div>
                <div>
                    <a href="https://jeffthecow.com/assets/images/jeffinSpace.jpg" download><img class="downloadImg" class="downloadImg" src="https://jeffthecow.com/assets/images/jeffinSpace.jpg"><h3>Click an image to download it.</h3></a>
                </div>
                <br>

                <div>
                    <a href="https://jeffthecow.com/assets/images/jeffinSpace.jpg" download><img class="downloadImg" class="downloadImg" src="https://jeffthecow.com/assets/images/jeffinSpace.jpg"><h3>Click an image to download it.</h3></a>
                </div>
                <div>
                    <a href="https://jeffthecow.com/assets/images/jeffinSpace.jpg" download><img class="downloadImg" class="downloadImg" src="https://jeffthecow.com/assets/images/jeffinSpace.jpg"><h3>Click an image to download it.</h3></a>
                </div>
                <div>
                    <a href="https://jeffthecow.com/assets/images/jeffinSpace.jpg" download><img class="downloadImg" class="downloadImg" src="https://jeffthecow.com/assets/images/jeffinSpace.jpg"><h3>Click an image to download it.</h3></a>
                </div>
                <br>
            </div>

我希望 Uploads 目录中的每个图像都创建一个新的 div、a 和 image 标记以供其使用。src 属性以及 a 标记的 href 属性需要包含 url /Uploads/ imageurl.extension 以及持有相同的类。如果有一种简单的方法可以使用 javascript 执行此操作,它将对我的页面有很大帮助。提前谢谢你。

【问题讨论】:

    标签: javascript html css


    【解决方案1】:

    我直接通过 javascript 添加了 div。我遍历链接数组以创建 div。我并没有真正用 css 做太多事情。每行有3张图片。如果您想要其他内容,只需更改 javascript 中的 css 和数组即可编辑图像链接。

    const links = ['https://jeffthecow.com/assets/images/jeffinSpace.jpg', 'https://jeffthecow.com/assets/images/jeffinSpace.jpg', 'https://jeffthecow.com/assets/images/jeffinSpace.jpg', 'https://jeffthecow.com/assets/images/jeffinSpace.jpg', 'https://jeffthecow.com/assets/images/jeffinSpace.jpg'];
    
    for (link of links) {
      document.getElementById('container').innerHTML += `<div>
      <a href=${link}>
      <img src=${link} alt="jeffthecow" width=120 />
      </a>
      </div>`;
    }
    #container {
      display: grid;
      grid-template-columns: 1fr 1fr 1fr;
    }
    <!DOCTYPE html>
    <html>
    
    <head>
      <title>test</title>
    </head>
    
    <body>
      <div id='container'></div>
    </body>
    
    </html>

    【讨论】:

    • 好的,这对我来说非常适合生成容器和图像,但是有没有办法自动输入所有的 const 链接?我希望该系统是自动化的。
    • @ilsloaoycd 你什么意思?当您单击它时,我的示例中的图像已经充当链接。你有图像文件吗?例如,如果您将文件放在同一个工作目录中,则可以为图像 url 执行“./image.jpg”。
    • 我的意思是在 javascript const links = [] 中。我必须输入我所有的图片 URL。我想知道 javascript 是否可以为添加到我的目录中的任何图像自动为我编写这些链接。
    • @ilsloaoycd 我不知道我的回答是否有效,但在这里:让您的图像可以通过链接访问,例如键入 mywebsite.com/images/image1.jpg 显示 image1.jpg。也有 mywebsite.com/imagelink 或任何您想要的名称返回所有图像文件名的数组。从客户端,对 mywebsite.com/imagelink 发出获取请求以获取数组。因此,不要在客户端创建数组,而是从您的服务器获取它。
    • 我会试试的。 :)
    猜你喜欢
    • 2021-04-19
    • 2016-04-15
    • 2013-04-29
    • 1970-01-01
    • 2020-07-13
    • 2020-01-21
    • 2015-04-09
    • 1970-01-01
    • 2012-07-02
    相关资源
    最近更新 更多