从文件js获取文件路径

问题描述 投票:0回答:1

我有一个列表,我想填写一些文件图像和hrefs,现在我可以检索目录中的内容,但不是路径,因此图像和hrefs无法正常工作

const fs = require('fs');

let thumbDirectory = "./video/local/thumbnails";
let dirBuffer= Buffer.from(thumbDirectory);

let videoDirectory = "./video/local";
let dirVidBuffer= Buffer.from(videoDirectory);

let videos = []
videos = fs.readdirSync(videoDirectory);

let files = []
files = fs.readdirSync(thumbDirectory);



function displayLocalFiles(thumbFiles, videoFiles) {
    console.log('local button!');
    var fileList = document.getElementById('video-list');
    var vid = document.getElementById('video-placeholder');

    for(var i = 0; i < thumbFiles.length; i++){
      for(var v = 0; v < videoFiles.length; v++){
            fileList.innerHTML = document.getElementById('video-list').innerHTML + 
            //Need to link thumnails with videos in order to click on thumbnail and open a video
            `<li class="list-group-item">
                <a href="${(videoFiles[v])}" id= 'video-placeholder' target="_blank">
                    <img src="${(thumbFiles[i])}" alt="thumb" class="thumbnail">
                </a>
                <div>${(thumbFiles[i])}</div>
            </li>`
      }
    };
    //this.addEventListeners();
}


displayLocalFiles(files);

我怎样才能让它工作?

javascript arrays node.js
1个回答
0
投票

您需要在架构file://和相对路径前添加文件URL,因此:

const fs = require("fs");
const thumbDirectory = "./video/local/thumbnails/";
const videoDirectory = "./video/local/";
const videos = fs.readdirSync(videoDirectory).map(file => 'file://' + videoDirectory + file);
const files = fs.readdirSync(thumbDirectory).map(file => 'file://' + thumbDirectory + file);

function displayLocalFiles(thumbFiles, videoFiles) {
    console.log("local button!");
    const fileList = document.getElementById("video-list");
    const vid = document.getElementById("video-placeholder");
    for (let i = 0; i < thumbFiles.length; i++) {
        for (let v = 0; v < videoFiles.length; v++) {
            fileList.innerHTML = document.getElementById("video-list").innerHTML + 
                //Need to link thumnails with videos in order to click on thumbnail and open a video
                `<li class="list-group-item">
                <a href="${(videoFiles[v])}" id= 'video-placeholder' target="_blank">
                    <img src="${(thumbFiles[i])}" alt="thumb" class="thumbnail">
                </a>
                <div>${(thumbFiles[i])}</div>
            </li>`;
        }
    }
}

displayLocalFiles(files, videos);
© www.soinside.com 2019 - 2024. All rights reserved.