图像流/字节数组在Azure Function App中在用户计算机上的给定路径

时间:2019-02-21 13:35:40

标签: azure-storage azure-functions

我正在尝试使用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云平台上,用户指定的路径可能指向云存储的某处,而不是用户计算机上的路径。

任何解决此问题的方法?谢谢!

1 个答案:

答案 0 :(得分:0)

在本地运行Azure函数时,可以使用图像的本地路径如上所述发送请求。这是您可以参考的tutorial

但是,当您在azure门户上运行函数时,函数运行路径更改为D:\home\site\wwwroot>,因此您可以将文件上传到D:\home\site\wwwroot>下,以便它可以读取文件。