0

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

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

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

4

3 回答 3

1

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

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

于 2013-04-19T11:01:33.050 回答
0

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

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

于 2013-04-19T09:02:08.077 回答
0

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

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

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

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

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

使用 application/json 优于 text/plain 的优势?

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

请参考这个链接:

在 SQL Server 中存储图像?

于 2013-04-19T09:23:20.293 回答