/** * nahrani souboru na server, zkontroluje typ souboru a do databaze ulozi relativni cesta k souboru, dane vydani a id autora a datum nahrani */ protected void Upload(object sender, EventArgs a) { if ((FileUpload.PostedFile != null) && (FileUpload.PostedFile.ContentLength > 0)) { string fileType = System.IO.Path.GetExtension(FileUpload.FileName); string fileName = System.IO.Path.GetFileName(FileUpload.PostedFile.FileName); string saveLocation = "~/Clanky/" + fileName; if (!isValidType(fileType)) { Response.Write("<script>alert('Zvolte soubor typu pdf nebo doc/docx')</script>"); return; } if (DDL_vyberVydani.SelectedIndex == 0) { Response.Write("<script>alert('Zvolte vydani')</script>"); return; } try { FileUpload.PostedFile.SaveAs(Server.MapPath(saveLocation)); dbHandler.uploadFile(user.id, Convert.ToInt32(DDL_vyberVydani.SelectedValue), fileName, saveLocation); Response.Write("Článek byl nahrán"); GV_clanky.DataBind(); } catch (Exception ex) { Response.Write("error: " + ex.Message); } } else if (FileUpload.PostedFile.ContentLength == 0) { Response.Write("Zvolený soubor má nulovou velikost"); } else { Response.Write("Prosím zvolte soubor pro nahrání"); } }
/* * Vlozeni souboru na server, zkontroluje typ souboru a do databaze vlozi cestu k souboru a dalsi udaje */ protected void Upload(object sender, EventArgs a) { if (GV_clanky.Rows.Count > 0) { if ((FileUpload.PostedFile != null) && (FileUpload.PostedFile.ContentLength > 0)) { string fileType = System.IO.Path.GetExtension(FileUpload.FileName); string fileName = System.IO.Path.GetFileName(FileUpload.PostedFile.FileName); string saveLocation = "~/Clanky/" + fileName; if (!isValidType(fileType)) { Lb_status.Text = "Zvolte soubor typu pdf nebo doc/docx"; } else { SqlDataAdapter da = new SqlDataAdapter("select count(*) from ClankyArchiv where Nazev='" + fileName + "'", con); DataTable dt = new DataTable(); da.Fill(dt); if (Convert.ToInt32(dt.Rows[0][0]) >= 1 || fileName == GV_clanky.SelectedRow.Cells[3].Text) { Lb_status.Text = "Nelze nahrát článek se stejným názvem jako má původní verze. Přidejte do názvu článku například slovo _upravene_"; } else { try { da = new SqlDataAdapter("select count(*) from ClankyArchiv where ClanekId='" + GV_clanky.SelectedRow.Cells[1].Text + "'", con); dt = new DataTable(); da.Fill(dt); int versions = Convert.ToInt32(dt.Rows[0][0]); if (versions == 0) { string nquery = "INSERT INTO ClankyArchiv(ClanekId, VerzeId, Stav, filePath, Nazev, Datum) VALUES (@clanekId, @verzeId, @stav, @path, @nazev, @date)"; if (con.State == System.Data.ConnectionState.Closed) { con.Open(); } SqlCommand ncmd = new SqlCommand(nquery, con); ncmd.Parameters.AddWithValue("@clanekId", GV_clanky.SelectedRow.Cells[1].Text); ncmd.Parameters.AddWithValue("@verzeId", (Convert.ToInt32(dt.Rows[0][0]) + 1)).ToString(); ncmd.Parameters.AddWithValue("@stav", 0); ncmd.Parameters.AddWithValue("@nazev", GV_clanky.SelectedRow.Cells[3].Text); ncmd.Parameters.AddWithValue("@path", "~/Clanky/" + GV_clanky.SelectedRow.Cells[3].Text); ncmd.Parameters.AddWithValue("@date", Lb_datum.Text); ncmd.ExecuteNonQuery(); } FileUpload.PostedFile.SaveAs(Server.MapPath(saveLocation)); string query = "INSERT INTO ClankyArchiv(ClanekId, VerzeId, Stav, filePath, Nazev, Datum) VALUES (@clanekId, @verzeId, @stav, @path, @nazev, @date)"; if (con.State == System.Data.ConnectionState.Closed) { con.Open(); } SqlCommand cmd = new SqlCommand(query, con); cmd.Parameters.AddWithValue("@clanekId", GV_clanky.SelectedRow.Cells[1].Text); cmd.Parameters.AddWithValue("@verzeId", Lb_verze.Text); cmd.Parameters.AddWithValue("@stav", 5); cmd.Parameters.AddWithValue("@nazev", fileName); cmd.Parameters.AddWithValue("@path", saveLocation); cmd.Parameters.AddWithValue("@date", DateTime.Today); cmd.ExecuteNonQuery(); query = "update Clanky set status_clanek=@stav, Datum=@date, filePath=@path, nazev=@nazev where Id=@clanekId"; if (con.State == System.Data.ConnectionState.Closed) { con.Open(); } cmd = new SqlCommand(query, con); cmd.Parameters.AddWithValue("@clanekId", GV_clanky.SelectedRow.Cells[1].Text); cmd.Parameters.AddWithValue("@stav", 5); cmd.Parameters.AddWithValue("@nazev", fileName); cmd.Parameters.AddWithValue("@path", saveLocation); cmd.Parameters.AddWithValue("@date", DateTime.Today); cmd.ExecuteNonQuery(); } catch (Exception) { Lb_status.Text = "Při nahrávání došlo k chybě."; } Lb_status.Text = "Článek byl nahrán"; Lb_nazevClanku.Text = ""; Lb_verze.Text = ""; GV_clanky.DataBind(); } } } else if (FileUpload.PostedFile.ContentLength == 0) { Lb_status.Text = "Zvolený soubor má nulovou velikost."; } else { Lb_status.Text = "Prosím zvolte soubor pro nahrání."; } } else { Lb_status.Text = "Vyberte článek, ke kterému chcete nahrát upravenou verzi."; } }