将图像从Web APi [Azure Mobile APP]上载到Azure Web App中的文件夹

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将图像从Web APi [Azure Mobile APP]上载到Azure Web App中的文件夹相关的知识,希望对你有一定的参考价值。

我创建了一个Azure移动应用程序和Azure Web应用程序。我需要做的是使用Azure Mobile APP的webapi端点从移动设备上传图像,并将其上传到Azure Web App内的文件夹。

我可以使用HTTpContext在我的api中获取图像,因此我可以将其保存在webapi本身的文件夹中,但这不是我需要的。我不知道如何将其保存到我的Web App中的文件夹中。但API和WebAPP具有相同的资源组。

请指出我如何做到正确的方向。

答案

我可以使用HTTpContext在我的api中获取图像,因此我可以将其保存在webapi本身的文件夹中,但这不是我需要的。我不知道如何将其保存到我的Web App中的文件夹中。但API和WebAPP具有相同的资源组。

正如Azure-Web-App-sandbox所述,关于文件系统限制/注意事项:

每个Azure Web App都有一个由Azure Storage存储/支持的主目录(d:home)。此网络共享是应用程序存储其内容的位置。此目录可用于具有读/写访问权限的沙箱。

因此,对于特定的Azure Web App,Azure Web App内容存储在Azure存储中,并在多个实例之间共享。但它不在不同的网络应用程序之间共享。

要将文件从您的移动应用程序上传到azure Web应用程序,您可以使用KUDU REST API下的VFS API,如下所示:

PUT /api/vfs/{path}
//Puts a file at path.

PUT /api/vfs/{path}/
//Creates a directory at path. The path can be nested, e.g. `folder1/folder2`.

注意:您需要使用基本身份验证。详细的代码片段,您可以关注here

此外,由于rahicks指出您可以直接将资源上传到中央数据存储中,因此可以在多个应用程序中访问它们。您可以利用Azure Storage Client Library for .NET并直接将图像上传到您的blob存储。此外,您可以利用azure Web应用程序中的存储客户端库来读取/写入资源。详细的教程,你可以关注here。此外,您可以使用Azure Storage Explorer来管理您的存储资源。

另一答案
///... check rest of request
///... define image path @"image/img1"
///... persist entity with image path
path = Server.MapPath(imagePath);
if(!System.IO.File.Exists(path)) 
     file.SaveAs(Server.MapPath(path));

如果您需要更多帮助,请逐步完成。它有点旧,但应该做的伎俩。

http://www.c-sharpcorner.com/blogs/how-to-upload-image-and-save-image-in-project-folder-in-mvc1

更新:由于您需要在服务器之间共享,因此最好为此设置blob存储帐户。这是一个演练:

https://www.codeproject.com/articles/490178/how-to-use-azure-blob-storage-with-azure-web-sites

以上是关于将图像从Web APi [Azure Mobile APP]上载到Azure Web App中的文件夹的主要内容,如果未能解决你的问题,请参考以下文章

尝试在 Web API 请求上检索 Azure Blob 时出现 403 错误

使用 rest api 从 Web 应用程序将文件上传到 Azure 文件存储

使用.net核心Web API和jquery从天蓝色斑点中上传和检索图像

如何将推送通知从 Azure 发送到 Windows Mobile Cordova 应用程序

无法使用 Mobile Vision API 从图像中读取文本

使用 Azure Web API 应用程序中的 C# 从 Azure Data Lake 查询 parquet 数据