none
Web API里面 如何生成一个URL引用数据库中的图片(byte[])? RRS feed

  • 问题

  • 大家好:

      我现在想做一个API为其他应用提供数据,大部分数据都可以用JSON格式的字符串直接传递。不过现在有几张表里存有byte[] 格式的图片,我希望能生成一个图片的URL,返回JSON的时候直接URL的字符串而不是一堆二进制数字。

      请问这要怎么做到?

      这是我某个表的EF实体类:

      
        [Table(name: "System_NCSystem")]
        public partial class NCSystem
        {
            [Key]
            [StringLength(50)]
            public string TypeID { get; set; }
    
            [Required]
            [StringLength(50)]
            public string Manufacturer { get; set; }
    
            [StringLength(50)]
            public string SupportTypeOfMachine { get; set; }
    
            public int? SupportNumberOfChannels { get; set; }
    
            public int? MaxControlNumberOfFeedAxis { get; set; }
    
            public int? MaxControlNumberOfSpindle { get; set; }
    
            public int? MaxNumberOfLinkageAxis { get; set; }
    
            public byte[] CNCImage { get; set; }
        }

    2016年6月23日 5:42

答案

  • Hi,

    如果你数据库存的的就是byte格式的图片那应该无法转成url吧,除非你在把读取的时候把它转存到外部服务器上,那样才能用链接调用。

    Regards,

    Moonlight


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.


    2016年6月23日 6:42
  • 把byte[]用base64的方式显示

    <img src=“data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAYAAABIdFAMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAHhJREFUeNo8zjsOxCAMBFB/KEAUFFR0Cbng3nQPw68ArZdAlOZppPFIBhH5EAB8b+Tlt9MYQ6i1BuqFaq1CKSVcxZ2Acs6406KUgpt5/LCKuVgz5BDCSb13ZO99ZOdcZGvt4mJjzMVKqcha68iIePB86GAiOv8CDADlIUQBs7MD3wAAAABJRU5ErkJggg%3D%3D”/>


    http://feiyun0112.cnblogs.com/

    2016年6月23日 8:35
    版主

全部回复

  • Hi,

    如果你数据库存的的就是byte格式的图片那应该无法转成url吧,除非你在把读取的时候把它转存到外部服务器上,那样才能用链接调用。

    Regards,

    Moonlight


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.


    2016年6月23日 6:42
  • Hi,

    那如果要在网页上显示数据库里面的图片该怎么实现的?

    <img src="??" />

    2016年6月23日 7:01
  • 应该不行的吧,暂时想到的只有先读取数据,将其写到网站所在目录的某个文件夹下,那么这个路径就可以用在网页上了
    2016年6月23日 7:54
  • 把byte[]用base64的方式显示

    <img src=“data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAYAAABIdFAMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAHhJREFUeNo8zjsOxCAMBFB/KEAUFFR0Cbng3nQPw68ArZdAlOZppPFIBhH5EAB8b+Tlt9MYQ6i1BuqFaq1CKSVcxZ2Acs6406KUgpt5/LCKuVgz5BDCSb13ZO99ZOdcZGvt4mJjzMVKqcha68iIePB86GAiOv8CDADlIUQBs7MD3wAAAABJRU5ErkJggg%3D%3D”/>


    http://feiyun0112.cnblogs.com/

    2016年6月23日 8:35
    版主
  • 这样会导致JSON数据传输的时候很慢啊,大部分时间都卡在传这些二进制数据。用url的方式的话图片的加载可以是异步的
    2016年6月23日 9:47