Я хотел бы предоставить интерфейс для просмотра папок и файлов на FTP-сервере.Этот интерфейс будет сделан в Vuejs, и мне нужен объект, который ссылается на все папки, подпапки и файлы внутри них, с их путем, форматом, размером, датой.
Массив объекта будет выглядеть так:
[
{
"Folder1": {
"subfolder1": {
"file1": {
"name": "filename",
"type": "jpg",
"size": "7951",
"date": "2019-02-13T15:31:00.000Z",
"path": "/Folder1/subfolder1/"
},
"file2": {
"name": "filename",
"type": "pdf",
"size": "7951",
"date": "2019-02-13T15:31:00.000Z",
"path": "/Folder1/subfolder1/"
}
},{
"subfolder2": {
"file1": {
"name": "filename",
"type": "jpg",
"size": "7951",
"date": "2019-02-13T15:31:00.000Z",
"path": "/Folder1/subfolder2/"
},
"file2": {
"name": "filename",
"type": "tif",
"size": "7951",
"date": "2019-02-13T15:31:00.000Z",
"path": "/Folder1/subfolder2/"
}
}
},{
"file-in-folder1": {
"name": "filename",
"type": "ppt",
"size": "7951",
"date": "2019-02-13T15:31:00.000Z",
"path": "/Folder1/"
}
}}}]
Я перепробовал все npm jsftp, обещание-ftp, node-ftp ... все они предоставляют примеры того, как читать одну папку, но не нашли ничего о том, как пролистать целоепапка и подпапка и список всего.
На данный момент я застрял с этим:
const ftp = require('ftp')
var Client = require('ftp');
var c = new Client();
c.on('ready', function () {
c.list('/home', function (err, list) {
if (err) throw err;
console.dir(list);
console.log(list)
c.end();
});
});
// connect to localhost:21 as anonymous
c.connect({ host: '***', user: '****', password: '***' });
Любая помощь или предложение другого плагина или способ работы будет принята с благодарностью.Я также задавался вопросом, существует ли какой-то API в Интернете, который мог бы служить этой цели.Который сканирует ftp и обслуживает весь контент в виде массива объектов, который вы затем можете использовать в любом интерфейсном интерфейсе.
Если у кого-то есть интегрированное решение vuejs, это будет даже более круто!