2017-11-11 276 views
1

我正在使用Azure应用程序服务(移动应用程序)并希望通过移动应用程序上传图像。我宁愿将它加载到数据类型为varbinary(max)的列中,我可以使用它来存储图像。但是,在Easy Tables(在Azure门户中)中,我只能看到数据类型选项String,Number,Date和Boolean。 请任何人都可以给我一个更好的方法来实现这一目标。将图像上传到Azure

回答

1

Azure的表存储不是关系数据库,仅支持值数据类型的子集:https://docs.microsoft.com/en-us/rest/api/storageservices/understanding-the-table-service-data-model#property-types

所以,你需要要么...

  1. 将图像存储在Blob storage和Easy Tables/Table Storage中的URL
  2. 将图像存储在包含的“MySQL In App”数据库​​中。但我不会使用这个,因为有一些limitations
  3. 使用Azure的SQL数据库来存储图像或只是网址(再次使用Azure的Blob存储到存储图像)

我建议1或3,一个Blob存储保存图像。将图像存储在数据库中并不是一个好主意,因为a)数据库的负载更高,b)您可能很难使用浏览器缓存或CDN。

+0

我认为选项一看起来非常好,你有没有任何文章显示它是如何实现的。我也想将图像转换为基本64字符串,然后存储在简单表格中,然后检索字符串并随时将图像转换回BitMap图像。 –

+0

有关如何与Blob存储进行交互的最流行服务的说明。这里是.NET desc的[link](https://docs.microsoft.com/zh-cn/azure/storage/blobs/storage-dotnet-how-to-use-blobs)。据我所知,我还认为base64转换后的图像的存储将不起作用,因为表存储条目有64KB的限制。 –

+0

非常感谢您的帮助。 –