#javascript #node.js #azure #azure-blob-storage
#javascript #node.js #azure #azure-blob-хранилище
Вопрос:
Я пытаюсь загрузить некоторые большие двоичные объекты в контейнер больших двоичных объектов в Azure.
Я добиваюсь успеха, когда файл находится в корневом контейнере, но не тогда, когда находится внутри папки.
const folder = 'AZURE_FOLDER';
const filesToDownload = [ 'icon.ico', 'images/cover.jpg', 'images/htmlstructure.png' ]
filesToDownload.forEach(blob => {
service.download(containerName, blob, `${folder}/${blob}`)
});
При запуске этого кода загруженный файл называется icon.ico, но все остальные, которые я получаю, выдают эту ошибку:
ошибка: { Ошибка: ENOENT: нет такого файла или каталога, открыть ‘AZURE_FOLDER/images/cover.jpg ‘
ошибка: { Ошибка: ENOENT: нет такого файла или каталога, откройте ‘AZURE_FOLDER/images/htmlstructure.png’
Мой ответ ListBlobs:
BlobResult {
name: 'images/cover.jpg',
creationTime: 'Wed, 03 Apr 2019 17:14:03 GMT',
lastModified: 'Wed, 03 Apr 2019 17:14:03 GMT',
etag: '0x8D6B857C5B2B355',
contentLength: '299040',
contentSettings:
{ contentType: 'image/jpeg',
contentEncoding: '',
contentLanguage: '',
contentMD5: 'JqJRnPltEsAhar YfKgEtQ==',
cacheControl: '',
contentDisposition: '' },
blobType: 'BlockBlob',
accessTier: 'Hot',
accessTierInferred: true,
lease: { status: 'unlocked', state: 'available' },
serverEncrypted: 'true' }
BlobResult {
name: 'images/htmlstructure.png',
creationTime: 'Wed, 03 Apr 2019 17:14:02 GMT',
lastModified: 'Wed, 03 Apr 2019 17:14:02 GMT',
etag: '0x8D6B857C4ECA732',
contentLength: '65835',
contentSettings:
{ contentType: 'image/png',
contentEncoding: '',
contentLanguage: '',
contentMD5: 'uHsFKqK9csssX0XYt86dlA==',
cacheControl: '',
contentDisposition: '' },
blobType: 'BlockBlob',
accessTier: 'Hot',
accessTierInferred: true,
lease: { status: 'unlocked', state: 'available' },
serverEncrypted: 'true' }
BlobResult {
name: 'user.ico',
creationTime: 'Wed, 03 Apr 2019 16:58:24 GMT',
lastModified: 'Wed, 03 Apr 2019 16:58:33 GMT',
etag: '0x8D6B8559B5CC9C8',
contentLength: '179677',
contentSettings:
{ contentType: 'image/x-icon',
contentEncoding: '',
contentLanguage: '',
contentMD5: 'sHZ3nvd9fyX09EkqQvDvLQ==',
cacheControl: '',
contentDisposition: '' },
blobType: 'BlockBlob',
accessTier: 'Hot',
accessTierInferred: true,
lease: { status: 'unlocked', state: 'available' },
serverEncrypted: 'true' }
Комментарии:
1. возможно, вам следует использовать Azure SDK для nodejs
2. Я уже использую, спасибо
Ответ №1:
Существует ли AZURE_FOLDER/images
каталог? Если нет, вам нужно будет создать его с помощью fs
модуля заранее.
Комментарии:
1. Я создаю папку images, и это того стоит!
2. рад, что это сработало! Не забудьте принять ответ, если он вам помог 😉