gpt4 book ai didi

javascript - Meteor JS - 动态扫描文件夹并添加到集合中

转载 作者:太空宇宙 更新时间:2023-11-04 00:50:47 25 4
gpt4 key购买 nike

我是meteor 和javascript 的新手,我正在尝试让应用程序搜索mp3 文件夹,然后将位置和名称添加到集合中。

如果有预先存在的(javascript)方法,请告诉我在哪里可以找到它们。如果您还知道有哪些内容可以从atmospherejs 或git 存储库进行改造,也请告诉我。谢谢!

最佳答案

这是解决您想要做的事情的简单方法

mp3list.html:

<head>
<title>MP3 Collection</title>
</head>

<body>
{{> mp3list}}
</body>

<template name="mp3list">
<ul>
{{#each mp3s}}
<li>{{name}}</li>
{{/each}}
</ul>
</template>

mp3list.js

MP3s = new Mongo.Collection('mp3s');
MP3_DIRETORY = '/tmp/mp3';
INTERVAL_MILLISECONDS = 1000;

if (Meteor.isClient) {
Template.mp3list.helpers({
mp3s: function() {
return MP3s.find();
},
});
}

if (Meteor.isServer) {
var fs = Npm.require('fs');
Meteor.setInterval(function() {
var mp3s = fs.readdirSync(MP3_DIRETORY).filter(
function(i) {
return i.substr(i.length - 4) === '.mp3';
}
);
mp3s.forEach(function(i) { MP3s.upsert({name: i}, { $set: {name: i}}); });

}, INTERVAL_MILLISECONDS);
}

要扩展此(即递归目录搜索)答案 here提供更多详细信息。但是,如果您的应用程序正在扫描大量文件,那么这种简单的方法将无法扩展。我建议然后看看 ionotify基于解决方案(假设是linux,其他操作系统也会有类似的API)。 watchr
可能也是一个不错的选择(我没有使用过它,或者inotify++)。

关于javascript - Meteor JS - 动态扫描文件夹并添加到集合中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32554347/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com