我正在尝试使用Azure功能应用程序(在Azure门户上)制作一个由HTTP触发的功能应用程序 ,这样,当用户提供其计算机上图像的完整路径时,函数会将本地图像上传到Blob存储。请求正文看起来像这样:
{
"path": "C:\\Users\\myimage.jpg"
}
但是,我甚至无法获取文件。我尝试过
var file = new FileStream(path, FileMode.Open);
但是它表示对路径的访问被拒绝。
我还尝试了以下操作,以便稍后将图像转换为byte []。
Image img = Image.FromFile(path);
不幸的是,即使我已经包含using System.Drawing;
,它也表示在当前上下文中不存在名称“图像”。
我怀疑这两种方法仅在用户本地计算机本身而非云上运行时才有效。在Azure云平台上,用户指定的路径可能指向云存储的某处,而不是用户计算机上的路径。
任何解决此问题的方法?谢谢!
答案 0 :(得分:0)
在本地运行Azure函数时,可以使用图像的本地路径如上所述发送请求。这是您可以参考的tutorial。
但是,当您在azure门户上运行函数时,函数运行路径更改为D:\home\site\wwwroot>
,因此您可以将文件上传到D:\home\site\wwwroot>
下,以便它可以读取文件。