Я хочу загрузить изображение профиля пользователя, отправленное из веб-приложения и мобильного приложения через форму Base64.
В запросе POST
им нужно отправить JSON
тело, которое выглядит примерно так.
{
"name":"profile-pic-123.jpg",
"file":"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAkGBxQTEhIUEhIUFBUV…K9rk8hCAEkjFMUYiEAI+nHIpsQh0AkisDYRTOiCAbWVtgCtI6IlkHh7LDTQXLH0EIQBj//2Q==" // the base64 image
}
Теперь на стороне сервера, используя Node
и Express
, я использовал этот модуль npm под названием azure-storage
, который предлагает удобный способ загрузки файлов в хранилище BLOB-объектов Azure с помощью веб-службы.
Но есть что-то, что я не могу понять в этом. Вот часть кода моего контроллера. Я успешно создал все необходимые соединения и ключи и еще много чего для создания рабочего 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);
});
}
Я получаю эту ошибку:
{
"errno": 34,
"code": "ENOENT",
"path": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAAB..."
}