所以我有这样的代码:图像插入数据库C#
if ((uplImage.FileName != ""))
{
byte[] raw = new byte[10000];
//to allow only jpg gif and png files to be uploaded.
string extension = Path.GetExtension(uplImage.PostedFile.FileName.ToUpper());
if (((extension == ".JPG") || ((extension == ".GIF") || (extension == ".PNG"))))
{
DALBio bio = new DALBio();
FileStream fs = new FileStream(uplImage.PostedFile.FileName, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.Read);
fs.Read(raw, 0, System.Convert.ToInt32(fs.Length));
bio.PlayerID = Session["playerID"].ToString();
bio.Pending = 'Y';
bio.Photo = raw;
DALBio.insertImage(bio);
}
}
当我尝试这一点,流不读取图像。 raw
永远不会获得图像。它保持空白,并在执行存储过程时被捕获,并说我从未传过图像。我相信代码很好。我不知道为什么我无法将图像存入我的字节数组中。
的代码似乎是正确的。你确定10000字节就够了吗?我试过了,它工作正常。不得不将我的小测试图片的字节数提高到400 000。 –
考虑在数据库中存储文件的文件名引用,并将实际文件存储在其他位置。 –
我的图像实际上只有60字节大,当我试图说只是字节[]原料,然后几个留置后来使用原料,它只是跳过原料。所以这就是为什么我给它一个大小和实例化它更早 – dwarf