<?php //check whether the folder the exists if(!(file_exists('Data'))) { //create the folder mkdir('Data'); //give permission to the folder chmod('Data', 0777); } //check whether the file exists if (file_exists('Data/'. $_FILES["file"]["name"])) { echo $_FILES["file"]["name"] . " is success "; move_uploaded_file($_FILES["file"]["tmp_name"],'Data/'. $_FILES["file"]["name"]); } ?> //Server.cs public static void UploadToCloud(string filename = book.xml) { WebClient myWebClient = new WebClient(); try { byte[] responseArray = myWebClient.UploadFile( Constants.XML_SERVER_PATH + "fileupload.php", "POST", filename); // Decode and display the response. Console.WriteLine("\nResponse Received.The contents of the file uploaded is:\n{0}", System.Text.Encoding.ASCII.GetString(responseArray)); } catch (Exception e) { Console.WriteLine("{0} Exception", e); } }
Upload File to a PHP server using C#
Xml Encryption/Dycryption
public class SimpleEncryption { #region Constructor public SimpleEncryption(string password) { byte[] passwordBytes = Encoding.UTF8.GetBytes(password); byte[] saltValueBytes = Encoding.UTF8.GetBytes(SaltValue); _DeriveBytes = new Rfc2898DeriveBytes(passwordBytes, saltValueBytes, PasswordIterations); _InitVectorBytes = Encoding.UTF8.GetBytes(InitVector); _KeyBytes = _DeriveBytes.GetBytes(32); } #endregion #region Private Fields private readonly Rfc2898DeriveBytes _DeriveBytes; private readonly byte[] _InitVectorBytes; private readonly byte[] _KeyBytes; #endregion private const string InitVector = "T=A4rAzu94ez-dra"; private const int PasswordIterations = 1000; //2; private const string SaltValue = "d=?ustAF=UstenAr3B@pRu8=ner5sW&h59_Xe9P2za-eFr2fa&ePHE@ras!a+uc@"; public string Decrypt(string encryptedText) { byte[] encryptedTextBytes = Convert.FromBase64String(encryptedText); string plainText; RijndaelManaged rijndaelManaged = new RijndaelManaged { Mode = CipherMode.CBC }; try { using (ICryptoTransform decryptor = rijndaelManaged.CreateDecryptor(_KeyBytes, _InitVectorBytes)) { using (MemoryStream memoryStream = new MemoryStream(encryptedTextBytes)) { using (CryptoStream cryptoStream = new CryptoStream(memoryStream, decryptor, CryptoStreamMode.Read)) { //TODO: Need to look into this more. Assuming encrypted text is longer than plain but there is probably a better way byte[] plainTextBytes = new byte[encryptedTextBytes.Length]; int decryptedByteCount = cryptoStream.Read(plainTextBytes, 0, plainTextBytes.Length); plainText = Encoding.UTF8.GetString(plainTextBytes, 0, decryptedByteCount); } } } } catch (CryptographicException exception) { plainText = string.Empty; // Assume the error is caused by an invalid password } return plainText; } public string Encrypt(string plainText) { string encryptedText; byte[] plainTextBytes = Encoding.UTF8.GetBytes(plainText); RijndaelManaged rijndaelManaged = new RijndaelManaged {Mode = CipherMode.CBC}; using (ICryptoTransform encryptor = rijndaelManaged.CreateEncryptor(_KeyBytes, _InitVectorBytes)) { using (MemoryStream memoryStream = new MemoryStream()) { using (CryptoStream cryptoStream = new CryptoStream(memoryStream, encryptor, CryptoStreamMode.Write)) { cryptoStream.Write(plainTextBytes, 0, plainTextBytes.Length); cryptoStream.FlushFinalBlock(); byte[] cipherTextBytes = memoryStream.ToArray(); encryptedText = Convert.ToBase64String(cipherTextBytes); } } } return encryptedText; } }
Simple XML Parsing c#
using System.Xml; using System.Xml.Linq; //Load string from xml into a list private static void BuildScenes() { XmlDocument xmlDocument = new XmlDocument(); xmlDocument.Load("ios_scenes.xml"); XmlNodeList sceneNode = xmlDocument.SelectNodes("//Scenes/Scene"); foreach(XmlNode node in sceneNode) { string sceneName = node.InnerText; levels.Add(sceneName); } } //Sample Xml <?xml version="1.0" encoding="us-ascii"?> <Scenes> <Scene>Any data </Scene> <Scene>Any data </Scene> <Scene>Any data </Scene> </Scenes>
MethodInfo Reflection to Create a Delegate
MethodInfo actionMethodInfo = typeof(AdvertisementHelper).GetMethod("AdResultCallback", BindingFlags.Static | BindingFlags.NonPublic); Action<bool> AdResultCallback = (Action<bool>)Delegate.CreateDelegate(typeof(Action<bool>), actionMethodInfo);
Subscribe to:
Posts (Atom)