如何解决尝试将图像上载到数据库时发生“对象引用未设置为对象实例”错误
|| 我正在尝试使用C#将图像上传到SQL数据库。我从另一个站点找到了一些在测试项目中运行良好的代码。但是,当我复制并粘贴代码并将其放入我的实际项目中时,它给了我一个“对象引用未设置为对象实例的错误”。这对我来说毫无意义,因为它在测试项目中效果很好。代码如下...protected void btnAddDevice_Click(object sender,EventArgs e)
{
byte[] myimage = new byte[FileUpload1.PostedFile.ContentLength];
HttpPostedFile Image = FileUpload1.PostedFile;
Image.InputStream.Read(myimage,(int)FileUpload1.PostedFile.ContentLength);
SqlConnection myConnection = new SqlConnection(cnString);
SqlCommand storeimage = new SqlCommand(\"insert into ImageTable (img,description,width,height) values(\" + \"@image,\'Description\',@imagesize,@imageheight)\",myConnection);
storeimage.Parameters.Add(\"@image\",SqlDbType.Image,myimage.Length).Value = myimage;
System.Drawing.Image img = System.Drawing.Image.FromStream(FileUpload1.PostedFile.InputStream);
storeimage.Parameters.Add(\"@imagesize\",SqlDbType.BigInt,99999).Value = img.Width;
storeimage.Parameters.Add(\"@imageheight\",99999).Value = img.Height;
myConnection.Open();
storeimage.ExecuteNonQuery();
myConnection.Close();
}
设置字节时,方法的第一行出现错误。我到处都看过,尝试了许多不同的方法,但是我不知道为什么会收到此错误。任何帮助将非常感激。
解决方法
在第一行上放置一个断点,然后查看所涉及的变量。当您期望一个值时,将为null。
FileUpload1.PostedFile最有可能为null。在尝试读取其字节之前,请确保已指定文件。
, 可能的问题:
您正在从
HttpPostedFile.InputStream
读取两次,而没有重置位置。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。