使用c#在mysql数据库中插入图像文件

时间:2014-12-30 10:50:36

标签: c# mysql asp.net

我正在使用3层架构的C#。我必须使用MySQL存储过程插入图像文件。这里我将图像文件转换为字节数组。但我不能直接插入字节。

Stream fs = FileUpload1.PostedFile.InputStream;
BinaryReader br = new BinaryReader(fs);
Byte[] bytes = br.ReadBytes((int)fs.Length);
string stbytes = ByteArrayToString(bytes);

所以我再次将字节转换为字符串并插入数据库。

public static string ByteArrayToString(byte[] ba)
{
    string hex = BitConverter.ToString(ba);
    return hex.Replace("-", "");
}
string result = objBL.InsertBankAttachmentBL(filename, contenttype, stbytes); //insert

现在我可以保存word文档了。但我无法插入图像文件。插入图像文件时会出现以下异常。

  

对于列' iattach_file'数据太长了在第2行

我的DAC层在这里:

string sqlCommand = "sp_F1_fileUpload";
DbCommand dbCommand = db.GetStoredProcCommand(sqlCommand);

// Retrieve products from the specified category.
 db.AddInParameter(dbCommand, "ioption", DbType.String,"insert");
 db.AddInParameter(dbCommand, "iattach_id", DbType.Int32, 0);
 db.AddInParameter(dbCommand, "iattach_name", DbType.String, iattach_name);
 db.AddInParameter(dbCommand, "iattach_extension", DbType.String, iattach_extension);
 db.AddInParameter(dbCommand, "iattach_file", DbType.String, iattach_file);

在存储过程中,我使用" Blob"要保存的数据类型" iattach_file"。

需要帮助才能找到解决方案。

我的屏幕:

enter image description here

0 个答案:

没有答案