private void saveToolStripMenuItem_Click(object sender, EventArgs e) { if (Server_IP.Text != null || Server_Port.Text != null || ID_Client.Text != null || ID_Track.Text != null) { IPAddress Server_ip = IPAddress.Parse(Server_IP.Text); short Sepver_port = Convert.ToInt16(Server_Port.Text); byte[] ipport = new byte[6]; byte[] ipbytes = BitConverter.GetBytes((int)Server_ip.Address); for (int i = 0; i < 4; i++) { ipport[i] = ipbytes[i]; } byte[] portbytes = BitConverter.GetBytes(Sepver_port); ipport[4] = portbytes[0]; ipport[5] = portbytes[1]; FileStream fs = new FileStream(open_file, FileMode.Open, FileAccess.Read); System.Runtime.Serialization.Formatters.Binary.BinaryFormatter bf = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter(); Meta_File mf = (Meta_File)bf.Deserialize(fs); mf.IP_Port_Server = new Client(); mf.IP_Port_Server.Deserialize(ipport); mf.ID_Client = Convert.ToInt32(ID_Client.Text); mf.ID_matirial = Convert.ToInt32(ID_Track.Text); if (saveFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK) { fs = new FileStream(saveFileDialog1.FileName, FileMode.Create, FileAccess.Write); bf.Serialize(fs, mf); fs.Close(); } } else { MessageBox.Show("Не все поля заполнены"); } }
protected void Page_Load(object sender, EventArgs e) { Page.Response.Clear(); string topic = Request.QueryString["topic"]; if (topic != null) { string filename; int Server_user_id; int Server_IP; short Server_PORT; int Track = Convert.ToInt32(topic); Conector con = new Conector(); MembershipUser m = Membership.GetUser(); SqlDataReader server_user_id_db = con.select("SELECT Top (1) Server_id_user FROM IDs_Server_and_Forum WHERE (Forum_id_user = '******')"); server_user_id_db.Read(); Server_user_id = Convert.ToInt32(server_user_id_db[0].ToString()); SqlDataReader Server_configs = con.select("SELECT TOP (1) IP_Server, Port_Server FROM Servers_Tracker"); Server_configs.Read(); Server_IP = Convert.ToInt32(Server_configs[0].ToString()); Server_PORT = Convert.ToInt16(Server_configs[1].ToString()); SqlDataReader name_track = con.select("SELECT TOP(1) name FROM topic WHERE (id = " + Track + ")"); name_track.Read(); filename = name_track[0].ToString(); con.con_close(); byte[] ipport = new byte[6]; byte[] ipbytes = BitConverter.GetBytes(Server_IP); for (int i = 0; i < 4; i++) { ipport [i] = ipbytes[i]; } byte[] portbytes = BitConverter.GetBytes(Server_PORT); ipport [4] = portbytes[0]; ipport [5] = portbytes[1]; FileStream fs = new FileStream(Request.PhysicalApplicationPath + "/MetaFiles/" + Track + ".mf", FileMode.Open, FileAccess.Read); System.Runtime.Serialization.Formatters.Binary.BinaryFormatter bf = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter(); Meta_File mf = (Meta_File)bf.Deserialize(fs); mf.IP_Port_Server = new Client(); mf.IP_Port_Server.Deserialize(ipport); mf.ID_Client = Server_user_id; mf.ID_matirial = Track; filename = Request.PhysicalApplicationPath + "Temp\\" + mf.name + ".mf"; fs = new FileStream(filename, FileMode.Create, FileAccess.Write); bf.Serialize(fs, mf); fs.Close(); Response.ContentType = "application/octet-stream"; Response.AddHeader("Content-Disposition", "attachment; filename=" + mf.name + ".mf"); Response.WriteFile(filename); Response.Flush(); //Response.Redirect("~/Temp/"+mf.name+".mf"); System.IO.File.Delete(filename); } else { Response.Redirect("~/Default.aspx"); } ; }