Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
150 views
in Technique[技术] by (71.8m points)

c# - FileUpload control in visual studio and save the image to MySql database

How to use fileupload control to upload an image and save it in a table in MySQL workbench database? and how to create the connection. the name of tabel is invoicesfp

public partial class Invoices : System.Web.UI.Page
{
    MySql.Data.MySqlClient.MySqlConnection conn ;
    MySql.Data.MySqlClient.MySqlCommand cmd;
    String querystr;

    protected void Page_Load(object sender, EventArgs e)
    {
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        if (FileUpload1.HasFile)
        {
            //save image into database
            string str = FileUpload1.FileName;
            FileUpload1.PostedFile.SaveAs(Server.MapPath(".") + "//Invoices//" + str);
            string path = "~//Invoices//" + str.ToString();
            MySqlConnection conn = new MySqlConnection("Server=127.0.0.1;Database=admindb;Uid=root;Pwd=8888;");
            MySqlCommand cmd = new MySqlCommand("insert into invoicesfp values (@v1)", conn);
            conn.Open();
            cmd.Parameters.AddWithValue("v1", TextBox1.Text);

            cmd.ExecuteNonQuery();
            conn.Close();
            Label4.Text = "Image uploaded sucessfully";
        }
        else
        {
            Label4.Text = " Please, upload the image ";
        }
    }
}
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

So here is the code i wrote for your saving images into your roots, you have to create a folder in your root of application for example upload:

            #region fileupload
            string fn = System.IO.Path.GetFileName(FileUpload1.PostedFile.FileName);
            string ret = Rename.ChangeName();
            string SaveLocation = Server.MapPath("Upload") + "" + ret;

            try
            {
                FileUpload1.PostedFile.SaveAs(SaveLocation);
            }
            catch (Exception ex)
            {
                if (ex is ArgumentNullException || ex is NullReferenceException)
                {
                    throw ex; 
                }
            }
            string PicAddress = "~/Upload/" + ret;

            #endregion

as you can see there is a method for change name, assuming you just want to save jpg files, for other files you can use extension:

    public static string ChangeName()
    {
        return Guid.NewGuid().ToString("N") + ".jpg";
    }

Simply after these code ran, you can easily save the PicAddress as a string into your database, so make for example nvarchar field for it. anytime you want to show the image you just need to reference the address of the image to your image tag:

<img src="~/Upload/etcetc.jpg">

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...