在C#中从sql发送图像作为json对象的最佳方法

时间:2015-03-11 11:41:51

标签: c# sql json

我在C#中检索图像为字节数组。我想知道将此图像发送为json的最佳方式。此代码当前将其作为内存流返回。

              var note = reader["Note"].ToString();
              var price =  (decimal)reader["Price"];                 

              //try this
              byte[] byteimage = (byte[])reader["Image"];
              using (Image pngimage = Image.FromStream(new MemoryStream(byteimage)))
              {
               CakesList.Add(new CakesDetails(cakeid, cakename, type, category, description, ingredients, gender, note, price, pngimage));
              }                  
          }
        sqlConnection.Close();
        }catch(SqlException ex)
        {
            ex.StackTrace.ToString();
        }
        return CakesList;

我想要达到这样的目标。

[{
        "title": "Dawn of the Planet of the Apes",
        **"image": "http://api.androidhive.info/json/movies/1.jpg",**
        "rating": 8.3,
        "releaseYear": 2014,
        "genre": ["Action", "Drama", "Sci-Fi"]
    },
    {

提前致谢。

1 个答案:

答案 0 :(得分:0)

您似乎不希望实际将图像作为JSON发送,但您想要发送图像的名称。为此,请执行以下操作:

  1. 记录JSON数据的接收者如何下载名为“http://api.androidhive.info/json/movies/1.jpg”的图像(嗯,这很明显,因为它是一个URL,仍然应该记录)。

  2. 将该网址作为JSON的一部分发送。

  3. 做任何需要的事情,以便有人试图下载该图像将获得它。这很可能涉及将字节数组存储在某个文件中,可能位于“json / movies / 1.jpg”路径下。

  4. 那就是说,你说的是奇怪的。如果你想做的就是告诉别人它在哪里,你为什么要检索图像?这没有意义。