通过Android应用程序在Azure SQL数据库中保存图像

时间:2017-02-04 13:44:55

标签: java android azure azure-sql-database

我必须在Azure SQL数据库中存储来自Android应用程序的图像,我试图搜索堆栈溢出并在许多其他网站上搜索它,但我找不到合适的答案。我在某些网站上看到了某种方式,但它是在C#中,但我是一个java人。我尝试在Azure门户上找到一种方法,在那里我找到了一个Easy Table功能,通过它我可以创建一个没有数据类型的表来保存图像。

Plase建议我一个方法。 我的任务是我必须通过Android应用程序保存一个图像和2-3个文本字符串。 提前谢谢。

1 个答案:

答案 0 :(得分:2)

根据我的经验,通常在Azure SQL数据库中保存图像不是一个好主意。在Azure上,最佳做法是创建Azure移动应用程序实例以处理使用Azure Blob存储保存图像的请求。但到目前为止,Azure移动应用程序仅支持C#& NodeJS,我认为NodeJS很容易,在Azure上是express.js。请参阅下面的教程以了解它们。

  1. How to use the Azure Mobile Apps Node.js SDK
  2. How to use Blob storage from Node.js
  3. 或者您可以直接在Android中使用Azure Blob存储,您可以参考官方文档&样品

    1. 示例:Azure Storage Service - Photo Uploader Sample for Android
    2. 图书馆:Azure Microsoft Azure Storage SDK for Android
    3. 教程:How to use Blob storage from Java
    4. 但是,通过简易表格保存Azure SQL数据库中的图像是必需的。我的建议如下。

      1. 将Base64中的图像编码为字符串
      2. 将Base64字符串拆分为字符串数组,并确保数组字符串项的长度小于定义的字符列的长度。
      3. 将上述数组的索引保存为easy table的表列,然后可以通过索引将字符串数组连接起来恢复Base64的图像字符串。
      4. 希望它有所帮助。