Azure移动应用程序-上载图像并在后端进行处理

Azure移动应用程序-上载图像并在后端进行处理,azure,azure-storage-blobs,azure-mobile-services,Azure,Azure Storage Blobs,Azure Mobile Services,我正在跟踪,大约6个月前我试过的时候,它就开始工作了。现在我正在使用Azure移动应用程序创建一个新项目。还是这样吗? 现在我有了新的要求。这是大学任务,我需要处理我上传的图像,将其转换为灰度并在服务器上调整大小。 如何在Azure中执行此操作? 我知道我可以很容易地在客户端处理图像,但新的要求是图像必须在服务器上处理。 我的数据对象如下所示: public class Photo : EntityData { public string ContainerName {

我正在跟踪,大约6个月前我试过的时候,它就开始工作了。现在我正在使用Azure移动应用程序创建一个新项目。还是这样吗? 现在我有了新的要求。这是大学任务,我需要处理我上传的图像,将其转换为灰度并在服务器上调整大小。 如何在Azure中执行此操作? 我知道我可以很容易地在客户端处理图像,但新的要求是图像必须在服务器上处理。 我的数据对象如下所示:

public class Photo : EntityData
    {
        public string ContainerName { get; set; }

        public string ResourceName { get; set; }

        public string SasQueryString { get; set; }

        public string ImageUri { get; set; }

        public string Caption { get; set; }

        public string Base64Image { get; set; }
    }

我想把它转换成Base64字符串。但是看起来我无法从azure.NET后端应用程序获取位图/图像

一种方法是,您可以按照链接到的教程的C版本,首先使用该教程中的SAS令牌机制从客户端上载原始图像。然后,您可以从您的客户机发出第二个请求来处理该图像-这第二个请求将只是一个到接收图像URI的自定义API的POST。在后端,您可以使用Azure存储SDK从blob中读取映像,对其进行处理,并将新映像存储在同一位置或作为新映像。然后,此API将最终图像的URI返回给客户端


第二种更复杂的方法是使用WebJob进行图像处理,如中所述。按照这种方式,客户端将像以前一样上载原始图像,WebJob将异步处理该图像,并使用新图像更新存储,以及在完成时使用可能的新图像URI更新Photo DB记录。在这种方法中,在完全处理图像和更新照片记录之前可能会有几秒钟的延迟,因此这实际上取决于您的应用程序场景。但是,这样的方法可以更好地扩展,特别是如果图像处理需要一段时间。

一种方法是,您可以遵循链接到的教程的C版本,首先使用该教程中的SAS令牌机制从客户端上载原始图像。然后,您可以从您的客户机发出第二个请求来处理该图像-这第二个请求将只是一个到接收图像URI的自定义API的POST。在后端,您可以使用Azure存储SDK从blob中读取映像,对其进行处理,并将新映像存储在同一位置或作为新映像。然后,此API将最终图像的URI返回给客户端

第二种更复杂的方法是使用WebJob进行图像处理,如中所述。按照这种方式,客户端将像以前一样上载原始图像,WebJob将异步处理该图像,并使用新图像更新存储,以及在完成时使用可能的新图像URI更新Photo DB记录。在这种方法中,在完全处理图像和更新照片记录之前可能会有几秒钟的延迟,因此这实际上取决于您的应用程序场景。不过,这样的方法可能会扩展得更好,尤其是在图像处理需要一段时间的情况下