“将截断字符串或二进制数据”解决与数据库image类型理解

前几天做订餐,解决一堆bug之后提交数据怎么怎么都提交不上,提示截断字符串或二进制数据。那么到底怎么回事呢?
这里写图片描述

搜索一把终于明白!原因在于数据的长度不符合才造成的。

解决办法
解决办法当然有多种,一是修改数据库字段大小; 二是加强数据强壮性,严格的输入判断。
目前我的办法就是将数据库被截断字段增大至200,重新生成一波后问题解决。

image类型
这个我们平时很少用到,因为一般情况下也不会做什么存取图片的事务,那么这次用到了,就要来讲讲SQL server中image类型的图片存储。

百度百科解释:在 Image 数据类型中存储的数据是以位字符串存储的,不是由 SQL Server 解释的,必须由应用程序来解释。例如,应用程序可以使用BMP、TIEF、GIF 和 JPEG 格式把数据存储在 Image 数据类型中。
所以我们理解,image类型不是把图片直接放到数据库,而是经过程序转化成二进制字符,转而存储到数据库中

那么,程序中是如何转化的呢?
答案是blob

详细如何大家可以直接点击blob,查看它的介绍。在这里博主只是将图片路径存放入数据库,漏洞还有很多,还需要大家共同努力!

猜你喜欢

转载自blog.csdn.net/q290994/article/details/79845053