#javascript #node.js #ipfs
#javascript #node.js #ipfs
Вопрос:
У меня есть следующий файл, загруженный в Express.js API, использующий мультер
[ { fieldname: 'file',
originalname: 'file.pdf',
encoding: '7bit',
mimetype: 'application/pdf',
destination: 'temp/',
filename: 'b9e10b5ecce35483ff38c0e83b41a9f5',
path: 'temp/b9e10b5ecce35483ff38c0e83b41a9f5',
size: 456904 } ]
Я передал его в протокол IPFS с помощью ipfs.add(), используя следующую функцию
ipfs.add({
path: listItem.path,
content: fileBuffer,
}, (err, file) => {
if (err) reject(err);
console.log(file)
});
Который в console.log()
возвращает следующий вывод
[ { path: 'temp/b9e10b5ecce35483ff38c0e83b41a9f5',
hash: 'QmUNLLsPACC***',
size: 4 },
{ path: 'temp',
hash: 'QmfQjRQnQkV***',
size: 82 } ]
Мой вопрос в том, почему появляется второй элемент, если предполагается, что он просто добавляет PDF-файл, и почему в качестве пути к нему указана моя временная папка, она загружает все внутри себя?
Ответ №1:
Это автоматически созданный каталог для хранения файла. Путь, который вы передаете, имеет temp/
в начале, так что этот каталог создан.
Взято непосредственно из документации по .add()
:
Обратите внимание, что промежуточные каталоги в путях к файлам будут автоматически созданы и возвращены в ответе вместе с файлами: