正在将文件从 Gridview 上传到数据库 asp.net

uploading file from Gridview into Database asp.net

网格视图具有文件上传功能,可以将图像上传到 SQL 服务器数据库。但是在控制文件上传实体时,它给出了 "Object reference not set to an instance of an object." 的错误 请帮我找到问题或给我一些我遵循的方法来实现将图像从网格视图上传到数据库的问题

代码文件

if (e.CommandName == "upload")

            {
                string status = "";

                Button bt = (Button)e.CommandSource;
                GridViewRow grdRow = (GridViewRow)bt.Parent.Parent;
                TextBox amount = (TextBox)grdRow.Cells[0].FindControl("txtAmount");
                FileUpload doc = (FileUpload)grdRow.Cells[0].FindControl("passbookUpload");
                // FileUpload doc = (FileUpload)grdRow.Cells[0].FindControl("FileUpload");
                Label UdiseCode = (Label)grdRow.Cells[0].FindControl("lblUdiseCode");
                Label Remaining = (Label)grdRow.Cells[0].FindControl("lblremainingName");


                if (string.IsNullOrEmpty(amount.Text.Trim())
                    || string.IsNullOrEmpty(doc.ToString())
                 )
                {

                    amount.BorderColor = System.Drawing.Color.Red;
                    doc.BorderColor = System.Drawing.Color.Red;


                    //  box8.BorderColor = System.Drawing.Color.Red;
                    ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('abc')", true);

                    return;
                }
                else
                {

                    string filename = Path.GetFileName(doc.PostedFile.FileName);
                    string fileExtension = Path.GetExtension(filename);
                    int fileSize = doc.PostedFile.ContentLength;

                    if (!(fileExtension.ToLower() == ".png") || (fileExtension.ToLower() == ".jpeg")
                   || (fileExtension.ToLower() == ".bmp") || (fileExtension.ToLower() == ".gif")
                     || (fileExtension.ToLower() == ""))
                    {
                        ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('abc2|')", true);
                        doc.BorderColor = System.Drawing.Color.Red;
                        return;
                    }
                    Stream stream = doc.PostedFile.InputStream;
                    BinaryReader binaryReader = new BinaryReader(stream);
                    Byte[] imageData = binaryReader.ReadBytes((int)stream.Length);
                    DL_Reimbursement.SaveReimbursementAmount(ddlSession.SelectedValue.ToString(), ddldistrict.SelectedValue.ToString(), ddlBlock.SelectedValue.ToString(), UdiseCode.ToString(), Convert.ToInt32(Remaining), Convert.ToInt32(amount), imageData, out status);
                    if (status == "INS")
                    {
                        ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('abc3')", true);

                    }
                    else
                    {
                        ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('कृपया डाटा को जांच ले तथा दोबारा प्रयास करे!|')", true);
                    }

                }
}

网格的 aspx 文件

 <asp:GridView ID="gvFetchRecords" runat="server" AutoGenerateColumns="False" HeaderStyle-Font-Bold="true" OnRowDataBound="gvFetchRecords_RowDataBound" OnRowCommand="GVBankAccDetails_RowCommand"
                                EmptyDataText="No Report Detail(s) were found !" PageSize="1000" AllowPaging="true">
                                <Columns>

                                    <asp:TemplateField ItemStyle-HorizontalAlign="Center" HeaderStyle-HorizontalAlign="Center" FooterStyle-HorizontalAlign="Center">
                                        <ItemTemplate>
                                            <%#Container.DataItemIndex +1 %>
                                        </ItemTemplate>
                                    </asp:TemplateField>

                                     <asp:TemplateField HeaderText="Udise Code" ItemStyle-HorizontalAlign="Center" HeaderStyle-HorizontalAlign="Center">
                                        <ItemTemplate>
                                            <asp:Label ID="lblUdiseCode" runat="server" Text='<%#Eval("Udise_Code") %>'></asp:Label>
                                        </ItemTemplate>

                                    </asp:TemplateField>

                                    <asp:TemplateField HeaderText="School Name" ItemStyle-HorizontalAlign="Center" HeaderStyle-HorizontalAlign="Center">
                                        <ItemTemplate>
                                            <asp:Label ID="lblUdiseName" runat="server" Text='<%#Eval("School_Name") %>'></asp:Label>
                                        </ItemTemplate>

                                    </asp:TemplateField>
                                     <asp:TemplateField HeaderText="baaki rashi" ItemStyle-HorizontalAlign="Center" HeaderStyle-HorizontalAlign="Center">
                                        <ItemTemplate>
                                            <asp:Label ID="lblremainingName" runat="server" Text='<%#Eval("Remaining") %>'></asp:Label>
                                        </ItemTemplate>

                                    </asp:TemplateField>

                                     <asp:TemplateField HeaderText="Rashi added" ItemStyle-HorizontalAlign="Center" HeaderStyle-HorizontalAlign="Center">
                                            <ItemTemplate>
                                                <asp:TextBox ID="txtAmount" runat="server" Style="Width: 130px;"></asp:TextBox>
                                            </ItemTemplate>

                                        </asp:TemplateField>

                                    <asp:TemplateField HeaderText="Document Upload" ItemStyle-HorizontalAlign="Center" HeaderStyle-HorizontalAlign="Center">
                                            <ItemTemplate>

                                               <asp:FileUpload ID="passbookUpload" runat="server"></asp:FileUpload>
                                            </ItemTemplate>

                                        </asp:TemplateField>

                                      <asp:TemplateField HeaderText="सुरक्षित करे" ItemStyle-HorizontalAlign="Center" HeaderStyle-HorizontalAlign="Center">
                                            <ItemTemplate>
                                                <asp:Button ID="btnSave" runat="server" CssClass="govBtnS" Text="सुरक्षित करे" CommandName="upload" Style="Width: 100px;" />
                                            </ItemTemplate>

                                        </asp:TemplateField>
                                     <asp:TemplateField HeaderText="डाउनलोड करे" ItemStyle-HorizontalAlign="Center" HeaderStyle-HorizontalAlign="Center">
                                        <ItemTemplate>
                                            <asp:LinkButton ID="lblDownload" runat="server" Text="डाउनलोड करे" CommandName="download" ></asp:LinkButton>
                                        </ItemTemplate>
                                    </asp:TemplateField>

                                      <asp:TemplateField HeaderText="Status" ItemStyle-HorizontalAlign="Center" HeaderStyle-HorizontalAlign="Center">
                                            <ItemTemplate>
                                              <asp:Label ID="lblStatus" runat="server" Text='<%#Eval("IsUpdated") %>' Visible="false"></asp:Label>
                                                <asp:Image ID="gvImage" runat="server" />
                                            </ItemTemplate>

                                        </asp:TemplateField>

                                    </Columns>
                                </asp:GridView>

尝试更改文件上传ID的名称。有时它可能会产生问题