0

I have a user control that upload image and show it to users. After upload image in parent page I want to save the image URL to database but I can't. This is my code that I used but the image is null.

Image img = new Image();  
img = this.Uploade1.FindControl("Image1") as Image;


My code: My User Control:

<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
<contenttemplate>
            <table class="auto-style1">
                <tr>
                    <td class="auto-style2">
                        &nbsp;</td>
                    <td rowspan="3">
                        <asp:Image ID="Image1" runat="server" Height="100" ImageAlign="Middle" Width="100" />
                        <br />
                        <asp:Label ID="StatusLabel" runat="server" Font-Names="Tahoma" Font-Size="8pt" Visible="False"></asp:Label>
                    </td>
                </tr>
                <tr>
                    <td class="auto-style2">

                        <asp:FileUpload ID="FileUploadControl" runat="server" />
                    </td>
                </tr>
                <tr>
                    <td class="auto-style2">

                        <asp:Button ID="btnUpload" runat="server" OnClick="ButtonUpload_Click" Text="بارگذاری" />
                    </td>
                </tr>
            </table>
            <br />
        </contenttempl


protected void ButtonUpload_Click(object sender, EventArgs e)
    {
        //Path to store uploaded files on server - make sure your paths are unique
        string Id = Request.QueryString["id"];
        //string thumbPath = "../upFiles/_thumb_" + Guid.NewGuid().ToString() + ".jpg";
        //string filePath = thumbPath.Replace("_thumb_", "");
        string filePath = "../upFiles/" + Guid.NewGuid().ToString() + ".jpg";

        try
        {
            // Check that there is a file
            if (FileUploadControl.HasFile)
            {
                if (FileUploadControl.PostedFile.ContentType == "image/jpeg")
                {
                    if (FileUploadControl.PostedFile.ContentLength  0) && (System.IO.Path.GetExtension(myFile.FileName).ToLower() == ".jpg"))
                        {
                            // Read file into a data stream
                            byte[] myData = new Byte[nFileLen];
                            myFile.InputStream.Read(myData, 0, nFileLen);
                            myFile.InputStream.Dispose();

                            // Save the stream to disk as temporary file. 
                            // make sure the path is unique!
                            System.IO.FileStream newFile
                                    = new System.IO.FileStream(Server.MapPath(filePath.Remove(0,3)),
                                                    System.IO.FileMode.Create);
                            newFile.Write(myData, 0, myData.Length);


                            newFile.Close();


                            System.IO.File.Delete(Server.MapPath(filePath.Remove(0, 3) +"_temp.jpg"));

                            //. new cpode
                            Image1.ImageUrl = filePath.Remove(0, 3);
                        }
                    }

        }
        catch (Exception ex)
        {
            StatusLabel.ForeColor = System.Drawing.Color.Red;
            StatusLabel.Text =  ex.Message;
        }
    }


2
  • can you share more code Commented Nov 16, 2013 at 12:22
  • these are my user control code and parent page is just two lines code that i wrote in top of my question. Commented Nov 16, 2013 at 12:26

1 Answer 1

1

You can use Session to save image url, then in child page retrive that and save to database.

first page:

Session["url"] = imageUrl;

second page:

string url = (string)Session["url"] ;
//save to database
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.