【问题标题】:ASP.NET store image in databaseASP.NET 将图像存储在数据库中
【发布时间】:2017-02-02 21:21:39
【问题描述】:

我试图通过以下代码将图像存储到数据库,但它通过异常“NullReference 异常”。当我调试此代码时,'postedFile' 为空.....在此先感谢

protected void btnAddUser_Click(object sender, EventArgs e)
{
    userName = tbxUserName.Text;
    password = tbxPassword.Text;

    HttpPostedFile postedFile = FileUpload1.PostedFile;
    string fileName = Path.GetFileName(postedFile.FileName);
    string fileExtension = Path.GetExtension(fileName);

    Stream stream = postedFile.InputStream;
    BinaryReader binaryReader = new BinaryReader(stream);
    byte[] bytes = binaryReader.ReadBytes((int)stream.Length);

    string queryInsert = "insert into smart_shop.users(name,password,image) values('" + userName + "','" + password + "','" + bytes + "');";
    dbObject.QueryFeeder(queryInsert);
}

【问题讨论】:

  • 带有用户名、密码和图像的简单 UI。用于选择图像使用 FileUpload1......我尝试了几次,但是当我点击 btnAddUser 选择图像后,它显示没有上传文件,这意味着null 我不明白发生了什么......即使 FileUpload1.HasFile 返回 false
  • 您确定PostedFile 为空吗?我认为您的问题可能是其他问题。为什么你认为PostedFile 是空的?
  • 其实想说 FileUpload1.HasFile 尽管选择了图片还是返回 false ......谢谢高级
  • 不,你的问题是别的。对您的解决方案进行全局搜索,看看您还在哪里使用FileUpload1。您发布的代码没有任何问题,它应该可以工作。
  • 帮自己一个大忙:创建另一个简单的 asp 应用程序并输入确切的代码并观察它是否会工作。一旦你看到它在工作,然后试着找出它为什么不能在这个应用程序上工作。你肯定做了一些事情来打破它。

标签: c# asp.net


【解决方案1】:

很可能,您需要将 enctype="multipart/form-data" 添加到您的表单标签中。

示例: <form id="Form1" method="post" enctype="multipart/form-data" runat="server">

【讨论】:

猜你喜欢
  • 2018-09-25
  • 2012-10-17
  • 1970-01-01
  • 2017-07-24
  • 2011-04-15
  • 2011-05-07
相关资源
最近更新 更多