Guest User

Untitled

a guest
May 20th, 2018
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.00 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Web;
  5. using System.Web.UI;
  6. using System.Web.UI.WebControls;
  7. using System.Data.OleDb;
  8. using System.Data;
  9. using System.Text.RegularExpressions;
  10.  
  11. namespace UpdatePhoto
  12. {
  13. public partial class Upload : System.Web.UI.Page
  14. {
  15. public string site;
  16. public string prevSite;
  17. public string page;
  18. public string prevPage;
  19. public string subPage;
  20. public string prevSubPage;
  21. public string prevUrl;
  22. public string groupName;
  23. public string mediaDesc;
  24. public int mediaIdentifier;
  25. public string action;
  26.  
  27. public OleDbConnection conn;
  28. public DataSet ds;
  29. public OleDbDataAdapter adapter = new OleDbDataAdapter();
  30.  
  31. protected void Page_Load(object sender, EventArgs e)
  32. {
  33. site = Request.QueryString["site"];
  34. page = Request.QueryString["page"];
  35. subPage = Request.QueryString["subPage"];
  36. action = Request.QueryString["action"];
  37. mediaIdentifier = Convert.ToInt32(Request.QueryString["index"]);
  38.  
  39. if (IsPostBack)
  40. {
  41. prevUrl = Request.UrlReferrer.PathAndQuery.ToString();
  42. btnSubmit.PostBackUrl = prevUrl;
  43.  
  44. List<MediaData> selectMedia = null;
  45.  
  46. //get Media from Database via getMediaFromDb Method
  47. selectMedia = getMediaFromDb(site, page, subPage);
  48.  
  49. string lastGroupName = selectMedia[0].GroupName;
  50. groupName = selectMedia[0].GroupName;
  51.  
  52. divWriteMedia.InnerHtml = "";
  53.  
  54. divWriteMedia.InnerHtml = divWriteMedia.InnerHtml + "<fieldset><legend><b>" + groupName + "</b></legend>";
  55. for (int i = 0; i < selectMedia.Count; i++)
  56. {
  57. groupName = selectMedia[i].GroupName;
  58.  
  59. if (selectMedia[i].GroupName == lastGroupName)
  60. {
  61. if (selectMedia[i].MediaType == MediaType.Photo)
  62. {
  63. int index = selectMedia[i].FileInfoList[0].IndexOfFile;
  64. string fileExtension = selectMedia[i].FileInfoList[0].FileExtension;
  65.  
  66. divWriteMedia.InnerHtml = divWriteMedia.InnerHtml + "<img class='product' src='pictures/" + index + fileExtension + "' width='60'>";
  67. divWriteMedia.InnerHtml = divWriteMedia.InnerHtml + "<a href='updatePhoto.aspx?site=" + site + "&page=" + page + "&subPage=" + subPage + "&action=delete&index=" + index + "'><img class='stacked' src='images/delete.jpg' border='0' alt='Click to Delete'></a>";
  68. divWriteMedia.InnerHtml = divWriteMedia.InnerHtml + "<a href='updatePhoto.aspx?site=" + site + "&page=" + page + "&subPage=" + subPage + "&action=edit&index=" + index + "'><img class='stacked' src='images/edit.jpg' border='0' alt='Click to Edit'></a>";
  69. }
  70. groupName = lastGroupName;
  71. }
  72. else
  73. {
  74. divWriteMedia.InnerHtml = divWriteMedia.InnerHtml + "</fieldset>";
  75. lastGroupName = selectMedia[i].GroupName;
  76. i--;
  77. divWriteMedia.InnerHtml = divWriteMedia.InnerHtml + "<fieldset><legend><b>" + groupName + "</b></legend>";
  78. }
  79. }
  80. //write end of fieldset once last group is done
  81. divWriteMedia.InnerHtml = divWriteMedia.InnerHtml + "</fieldset>";
  82. }
  83. else
  84. {
  85. lblStatus.Text = "Upload a File";
  86. }
  87.  
  88. }
  89.  
  90. protected void btnSubmit_Click(object sender, EventArgs e)
  91. {
  92. if (file1.HasFile)
  93. {
  94. string filepath = file1.PostedFile.FileName;
  95. string pat = @"\\(?:.+)\\(.+)\.(.+)";
  96. Regex r = new Regex(pat);
  97. //run
  98. Match m = r.Match(filepath);
  99. string file_ext = m.Groups[2].Captures[0].ToString();
  100. string filename = m.Groups[1].Captures[0].ToString();
  101. string file = filename + "." + file_ext;
  102.  
  103. //set mediaIdentifier equal to lastIndex in Database
  104.  
  105.  
  106. //save the file to the server
  107. file1.PostedFile.SaveAs(Server.MapPath(".\\uploads\\") + file);
  108. lblStatus.Text = "File Saved to: " + Server.MapPath(".\\uploads\\") + file;
  109. }
  110. }
  111.  
  112. public List<MediaData> getMediaFromDb(string site, string page, string subPage)
  113. {
  114. List<MediaData> mediaList = new List<MediaData>();
  115. List<IndividualFileInfo> fileDetailsList = new List<IndividualFileInfo>();
  116. MediaData mediaInformation = new MediaData();
  117. IndividualFileInfo mediaFileInformation = new IndividualFileInfo();
  118.  
  119. OleDbDataReader drMedia = null;
  120. string dbPath = Server.MapPath(".\\database\\tpk_db.mdb");
  121. OleDbConnection conn = new OleDbConnection();
  122.  
  123. conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + dbPath;
  124. conn.Open();
  125.  
  126. OleDbCommand cmd = new OleDbCommand();
  127. OleDbCommand cmdGroups = new OleDbCommand();
  128. cmd.Connection = conn;
  129.  
  130. site = "Custom";
  131. page = "Invitations";
  132. subPage = "Parties";
  133.  
  134. cmd.CommandText = string.Format("SELECT * FROM tblMedia WHERE site ='{0}' AND page='{1}' AND subPage='{2}'", site, page, subPage);
  135. drMedia = cmd.ExecuteReader();
  136.  
  137. while (drMedia.Read())
  138. {
  139. string groupNameSelection = mediaInformation.GroupName = drMedia["grpName"].ToString();
  140.  
  141. int fileIndexSelection = mediaFileInformation.IndexOfFile = Convert.ToInt32(drMedia["index"]);
  142. string fileNameSelection = mediaFileInformation.FileName = drMedia["filename"].ToString();
  143. string fileExtensionSelection = mediaFileInformation.FileExtension = drMedia["extName"].ToString();
  144. string fileDescriptionSelection = mediaFileInformation.FileDescription = drMedia["description"].ToString();
  145.  
  146. fileDetailsList = mediaInformation.FileInfoList = new List<IndividualFileInfo>();
  147. fileDetailsList.Add(mediaFileInformation);
  148.  
  149. string mediaDataRaw = Convert.ToString(drMedia["type"]);
  150. mediaInformation.MediaType = (MediaType)Enum.Parse(typeof(MediaType), mediaDataRaw, true);
  151.  
  152. mediaList.Add(mediaInformation);
  153. }
  154.  
  155. mediaList.Sort(delegate(MediaData m1, MediaData m2) { return m1.GroupName.CompareTo(m2.GroupName); });
  156.  
  157. return mediaList;
  158. }
  159. }
  160.  
  161. public struct MediaData
  162. {
  163. private string groupName;
  164. private MediaType mediaType;
  165. private List<IndividualFileInfo> fileInfoList;
  166.  
  167. public MediaType MediaType
  168. {
  169. get
  170. {
  171. return mediaType;
  172. }
  173.  
  174. set
  175. {
  176. mediaType = value;
  177. }
  178. }
  179.  
  180. public string GroupName
  181. {
  182. get
  183. {
  184. return groupName;
  185. }
  186.  
  187. set
  188. {
  189. groupName = value;
  190. }
  191. }
  192.  
  193. public List<IndividualFileInfo> FileInfoList
  194. {
  195. get
  196. {
  197. return fileInfoList;
  198. }
  199.  
  200. set
  201. {
  202. fileInfoList = value;
  203. }
  204. }
  205. }
  206.  
  207. public struct IndividualFileInfo
  208. {
  209. private int indexOfFile;
  210. private string fileName;
  211. private string fileExtension;
  212. private string fileDescription;
  213.  
  214. public int IndexOfFile
  215. {
  216. get
  217. {
  218. return indexOfFile;
  219. }
  220.  
  221. set
  222. {
  223. indexOfFile = value;
  224. }
  225. }
  226.  
  227. public string FileName
  228. {
  229. get
  230. {
  231. return fileName;
  232. }
  233.  
  234. set
  235. {
  236. fileName = value;
  237. }
  238. }
  239.  
  240. public string FileExtension
  241. {
  242. get
  243. {
  244. return fileExtension;
  245. }
  246.  
  247. set
  248. {
  249. fileExtension = value;
  250. }
  251. }
  252.  
  253. public string FileDescription
  254. {
  255. get
  256. {
  257. return fileDescription;
  258. }
  259.  
  260. set
  261. {
  262. fileDescription = value;
  263. }
  264. }
  265. }
  266.  
  267. public enum MediaType
  268. {
  269. Photo,
  270. Video,
  271. Audio
  272. }
  273. }
Add Comment
Please, Sign In to add comment