PDF uploaden naar SQL

Stukje jquery voor het verzenden van het bestand en data naar de web api

$("#verzend_melding").click(function () {
    var data = new FormData();
    // bestand ophalen
    var bestand = $("#fileBestand_melding").get(0).files;
    data.append("adres", $("#txtAdres_melding").val());
    data.append("reden", $("#txtReden_melding").val());
    data.append("gebruiker", $("#txt_gebruiker").val());
    $("#txtAdres_melding").val('');
    $("#txtReden_melding").val('');
    if (bestand.length > 0) {
        data.append("bestand", bestand[0]);
    }
    var verzending = $.ajax({
        type: "POST",
        url: "/api/ws_Adressen/Melding_Bestand",
        contentType: false,
        processData: false,
        data: data
     })
        verzending.done(function (xhr, textStatus) {
           // doe iets als verzenden goed is afgelopen
        })
    }
})

In de controller

public void Melding_Bestand()
{
    string adres = HttpContext.Current.Request.Form["adres"];
    string reden = HttpContext.Current.Request.Form["reden"];
    string gebruiker = HttpContext.Current.Request.Form["gebruiker"];
            
    SqlConnection con = new SqlConnection();
    con.ConnectionString = "";
    SqlCommand cmd = new SqlCommand();
    cmd.Connection = con;
    con.Open();
    cmd.CommandText = "insert into ....;select cast(Scope_Identity() as int)";
    cmd.Parameters.AddWithValue("@adres", adres);
    cmd.Parameters.AddWithValue("@reden", reden);
    cmd.Parameters.AddWithValue("@melder", gebruiker);
    cmd.Parameters.AddWithValue("@datum", DateTime.Now.ToString("yyyy-MM-dd"));
    int id = (Int32)cmd.ExecuteScalar();
    cmd.Parameters.Clear();

    if (HttpContext.Current.Request.Files.AllKeys.Any())
    {
        var httpPostedFile = HttpContext.Current.Request.Files["bestand"];
        if (httpPostedFile != null)
        {

            byte[] bestand = new byte[httpPostedFile.InputStream.Length + 1];
            httpPostedFile.InputStream.Read(bestand, 0, bestand.Length);
            cmd.CommandText = @"insert into [Kenneth].[dbo].[CRAB_meldingen_bestanden] (meldingnr,bestandsnaam,bestand,datum_upload)
                                values(@nr,@bestandsnaam,@bestand,@datum_upload)";
            cmd.Parameters.AddWithValue("@bestand", bestand);
            cmd.Parameters.AddWithValue("@nr",id);
            cmd.Parameters.AddWithValue("@bestandsnaam",httpPostedFile.FileName.ToString());
            cmd.Parameters.AddWithValue("@datum_upload", DateTime.Now.ToString("yyyy-MM-dd"));
            cmd.ExecuteNonQuery();
        }
    }
    con.Close();
}

 

Categories:

Related Article