Я хочу загрузить изображение профиля пользователя, отправленного из веб-приложения и мобильного приложения через форму Base64.Nodejs upload base64 image to azure blob storage using .createBlockBlobFromLocalFile()
На запрос POST
им необходимо отправить JSON
на корпус, который выглядит примерно так.
{
"name":"profile-pic-123.jpg",
"file":"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAkGBxQTEhIUEhIUFBUV…K9rk8hCAEkjFMUYiEAI+nHIpsQh0AkisDYRTOiCAbWVtgCtI6IlkHh7LDTQXLH0EIQBj//2Q==" // the base64 image
}
Теперь на стороне сервера с помощью Node
и Express
, я использовал этот НПМ модуль под названием azure-storage
, который предлагает хороший способ загрузки файлов на лазурном хранения больших двоичных объектов с помощью веб-сервиса.
Но есть кое-что, что я не могу понять по этому поводу. Вот часть кода моего контроллера. Я успешно создан все необходимое соединение и ключи и этажерку создать рабочую blobService
:
controllers.upload = function(req, res, next){
// ...
// generated some sastoken up here
// etc.
// ...
var uploadOptions = {
container: 'mycontainer',
blob: req.body.name, // im not sure about this
path: req.body.file // im not sure about this either
}
sharedBlobService.createBlockBlobFromLocalFile(uploadOptions.container, uploadOptions.blob, uploadOptions.path, function(error, result, response) {
if (error) {
res.send(error);
}
console.log("result", result);
console.log("response", response);
});
}
Im получаю эту ошибку:
{
"errno": 34,
"code": "ENOENT",
"path": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAAB..."
}
Будет ли это загрузить реальное изображение в лазурной хранения больших двоичных объектов? Скажем, если я перейду на страницу https: // myblob.blob.azure.something.net/mycontainer/theimageiuploaded.jpg, я получу визуальное изображение или только текстовую форму? – CENT1PEDE
, в этом случае это должно быть 'https: // myblob.blob.core.windows.net/mycontainer/profile-pic-123.jpg. Если ваш контейнер является общедоступным, вы можете получить каталог изображений с этого URL-адреса. Если это личное, для получения изображения требуется авторизация. –
Я использовал этот код теперь им получать эту ошибку { "код": "ResourceNotFound", "StatusCode": 404, "RequestID": "bc789061-0001-0022-37f3-80a7c8000000" } – CENT1PEDE