我正在制作一个存储 Azure SQL 服务器数据库用户信息的应用程序,包括从 Facebook 下载的个人资料照片。在服务器端,ASP.NET MVC4 将有一个控制器来接收信息并将其发送到数据库。
客户端是 Javascript,并认为以 json 格式提供图像(一旦转换为 base64)。这是一个不错的选择吗?直接发送jpg更好吗?用json发送信息有什么好处?
在 SQL Server 中,图像字段将存储为 nvarchar(最大值)
我正在制作一个存储 Azure SQL 服务器数据库用户信息的应用程序,包括从 Facebook 下载的个人资料照片。在服务器端,ASP.NET MVC4 将有一个控制器来接收信息并将其发送到数据库。
客户端是 Javascript,并认为以 json 格式提供图像(一旦转换为 base64)。这是一个不错的选择吗?直接发送jpg更好吗?用json发送信息有什么好处?
在 SQL Server 中,图像字段将存储为 nvarchar(最大值)
您要将图像作为二进制流内容类型返回image/jpeg
还是作为 base64 编码的文本流返回?您更有可能执行前者,因此几乎没有理由进行中间 base64 编码传输。当然,将它们存储为VARBINARY(MAX)
. 即使您选择将它们存储为 base64,为 base64 文本选择 Unicode 数据类型也确实很浪费,(无缘无故地使存储成本翻倍......),base64 可以很好地适应VARCHAR(max)
.
但是,特别是在 SQL Azure 环境中,您应该考虑将媒体存储在Azure BLOB 存储中,并且只将 Blob 路径存储在您的数据库中。
在我看来,最好使用 Multipart Forms 或类似的东西直接以 .jpg 格式发送图像。
当您传输显式数据时,在 Json 中发送信息非常有用,例如您以后可以查询或反序列化的集合或对象。
客户端是 Javascript,并认为以 json 格式提供图像(一旦转换为 base64)。这是一个不错的选择吗?
正如 Pasrus 指出的那样,您不会操纵图像数据。所以 JSON 在这里似乎不是一个好的选择。
一种选择是,您可以将 base64 数据添加到 html 标签的 src 属性中并发送。
用json发送信息有什么好处?
请检查这个答案,有很多:
使用 application/json 优于 text/plain 的优势?
在 SQL Server 中,图像字段将存储为 nvarchar(最大值)
请参考这个链接: