Поток изображения / массив байтов по заданному пути на компьютере пользователя в приложении-функции Azure - PullRequest
0 голосов
/ 21 февраля 2019

Я пытаюсь создать приложение функции, запускаемое по протоколу HTTP с помощью приложений-функций Azure (на портале Azure) , чтобы когда пользователь указывал полный путь к изображению на своем компьютере, функциязагрузит это локальное изображение в хранилище BLOB-объектов.Тело запроса выглядит примерно так:

{
    "path": "C:\\Users\\myimage.jpg"
}

Однако я застрял даже при получении файла.Я попытался

var file = new FileStream(path, FileMode.Open);

, но он говорит, что доступ к пути запрещен.

Я также попробовал следующее для преобразования изображения в байт [] позже.

Image img = Image.FromFile(path);

К сожалению, в нем говорится, что имя «Изображение» не существует в текущем контексте, хотя я уже включил using System.Drawing;.

Я подозреваю, что оба эти метода работают только тогда, когдазапускается на локальном компьютере пользователя, а не в облаке.На облачной платформе Azure путь, указанный пользователем, может указывать на место в облачном хранилище, а не путь на компьютере пользователя.

Любое решение этой проблемы?Спасибо!

1 Ответ

0 голосов
/ 22 февраля 2019

Когда вы запускаете функцию Azure на локальном компьютере, вы можете отправить запрос, как указано выше, используя локальный путь вашего изображения.Вот учебник , на который вы можете сослаться.

Однако, когда вы запускаете свою функцию на портале Azure, путь запуска функции меняется на D:\home\site\wwwroot>, поэтому вы можете загрузить свой файл ниже D:\home\site\wwwroot> чтобы он мог прочитать файл.

...