【问题标题】:Best format to send image from javascript client to SQL server将图像从 javascript 客户端发送到 SQL 服务器的最佳格式
【发布时间】:2013-04-12 14:58:53
【问题描述】:

我正在制作一个存储 Azure SQL 服务器数据库用户信息的应用程序,包括从 Facebook 下载的个人资料照片。在服务器端,ASP.NET MVC4 将有一个控制器来接收信息并将其发送到数据库。

客户端是 Javascript,并认为以 json 格式提供图像(一旦转换为 base64)。这是一个不错的选择吗?直接发送jpg更好吗?用json发送信息有什么好处?

在 SQL Server 中,图像字段将存储为 nvarchar (max)

【问题讨论】:

    标签: javascript sql-server ajax asp.net-mvc json


    【解决方案1】:

    您要将图像作为二进制流内容类型image/jpeg 还是作为base64 编码的文本流返回?您更有可能执行前者,因此几乎没有理由进行中间 base64 编码传输。当然,将它们存储为VARBINARY(MAX)。即使如果你会选择将它们存储为base64,为base64文本选择Unicode数据类型真的很浪费,(无缘无故地增加一倍的存储成本......),base64可以很好地适应@ 987654326@.

    但是,特别是在 SQL Azure 环境中,您应该考虑将媒体存储在 Azure BLOB storage 中,并且只将 Blob 路径存储在您的数据库中。

    【讨论】:

    【解决方案2】:

    在我看来,最好使用 Multipart Forms 或类似的方式直接以 .jpg 格式发送图像。

    当您传输显式数据时,在 Json 中发送信息非常有用,例如您以后可以查询或反序列化的集合或对象。

    【讨论】:

      【解决方案3】:

      客户端是 Javascript,并认为以 json 格式提供图像(一旦转换为 base64)。这是一个不错的选择吗?

      正如 Pasrus 所指出的,您不会操纵图像数据。所以 JSON 在这里似乎不是一个好的选择。

      一种选择是,您可以将base64数据添加到html标签的src属性中并发送。

      用json发送信息有什么好处?

      请检查这个答案,有很多:

      Advantages of using application/json over text/plain?

      在 SQL Server 中,图像字段将存储为 nvarchar (max)

      请参考此链接:

      Storing images in SQL Server?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-01-11
        • 2014-04-28
        • 2021-09-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-10-08
        相关资源
        最近更新 更多