我正在尝试从网上抓取图片,并将其添加到我的数据库中。
String lsResponse = string.Empty;
using (HttpWebResponse lxResponse = (HttpWebResponse)req1.GetResponse())
{
using (BinaryReader reader = new BinaryReader(lxResponse.GetResponseStream()))
{
Byte[] lnByte = reader.ReadBytes(1 * 1024 * 1024 * 10);
using (FileStream lxFS = new FileStream(id + ".png", FileMode.Create))
{
lxFS.Write(lnByte, 0, lnByte.Length);
我的SQL Server数据类型为Varbinary(MAX)
。尝试不同类型(图像,...)不起作用。
将其放入数据库。
SqlCommand cmd = new SqlCommand("INSERT INTO PlayersDB (id) ) VALUES (@id);
cmd.Parameters.AddWithValue("@id", lnByte);
我一直收到错误:
不允许从数据类型nvarchar到varbinary(max)的隐式转换。使用CONVERT函数运行此查询。
那么,我的程序看到我的lnByte
不是二进制文件?
答案 0 :(得分:1)
首先要确定数据类型是否正确。我对SQL服务器了解不多,但我在MySql中遇到了类似的问题。我将数据类型更改为Blob并且工作正常
答案 1 :(得分:1)
我们使用blob在我的工作场所的sql db中存储图像。我自己并不是特别有经验,但这里有一些Technet资源可以比我更好地解释它。