internal static void Extract(string gameDirectory) { FileStream ImageFile; try { ImageFile = File.OpenRead(gameDirectory + "/scenes/scenes.image"); } catch (FileNotFoundException e) { Console.WriteLine("Didn't find scenes.image"); Console.WriteLine(e.Message); return; } catch (UnauthorizedAccessException f) { Console.WriteLine("Cannot read scenes.image file."); Console.WriteLine(f.Message); return; } MemoryStream image = new MemoryStream(); ImageFile.CopyTo(image); ImageFile.Close(); image.Position = 0; VSIF_Header Header = PopulateHeader(image); if (Header.ID != Common.FourCC("VSIF", false)) { Console.WriteLine("Scenes.image has incorrect Magic"); return; } if (Header.Version != 2) { Console.WriteLine("Scenes.image has incorrect version"); return; } if (Header.ScenesCount == 0) { Console.WriteLine("Scenes.image is empty"); return; } Console.WriteLine("Extracting scenes.image ({0} scenes)\n", Header.ScenesCount); /* Extraction */ for (int i = 0; i < Header.ScenesCount; i++) { ExtractScene(ref image, i, Header); //there's only one VSIF Header } //VSIF_ExtractScene(Image, i, Maps, MapsCount, GameDirectory); //free(Image); //printf("Finished extracting scenes from game %s\n", GameDirectory); //return 0; image.Close(); Console.WriteLine("Finished extracting scenes from {0}", gameDirectory); }
public string GetFileString() { string fileString; using (MemoryStream ms = new MemoryStream()) { ImageFile.CopyTo(ms); byte[] array = ms.GetBuffer(); fileString = Convert.ToBase64String(array); } return(fileString); }
public async Task <IActionResult> OnPostAsync() { var user = await _userManager.GetUserAsync(User); var userid = _userManager.GetUserId(User); var userprofile = _context.UserProfiles.Where(u => u.UserId == userid).FirstOrDefault(); if (user == null) { return(NotFound($"Unable to load user with ID '{_userManager.GetUserId(User)}'.")); } if (!ModelState.IsValid) { await LoadAsync(user); return(Page()); } var phoneNumber = await _userManager.GetPhoneNumberAsync(user); var fName = userprofile.FirstName; var lName = userprofile.LastName; if (Input.PhoneNumber != phoneNumber) { var setPhoneResult = await _userManager.SetPhoneNumberAsync(user, Input.PhoneNumber); if (!setPhoneResult.Succeeded) { StatusMessage = "Unexpected error when trying to set phone number."; return(RedirectToPage()); } } if (Input.FirstName != fName) { userprofile.FirstName = Input.FirstName; } if (Input.LastName != lName) { userprofile.LastName = Input.LastName; } string fileName = string.Empty; string uploads = Path.Combine(hosting.WebRootPath, "Upload/images"); if (ImageFile != null) { fileName = Guid.NewGuid().ToString() + "_" + ImageFile.FileName; //image path string Fullpath = Path.Combine(uploads, fileName); //copy (upload) image to that path ImageFile.CopyTo(new FileStream(Fullpath, FileMode.Create)); //if (userprofile.Image != null) //{ // string OldImgPath = Path.Combine(uploads, userprofile.Image); // try // { // System.IO.File.Delete(OldImgPath); // } // catch // { // StatusMessage = "Unexpected error when trying to set Photo."; // } //} userprofile.Image = fileName; } else { if (RemoveImage == "true") { if (userprofile.Image != null) { System.IO.File.Delete(Path.Combine(uploads, userprofile.Image)); } userprofile.Image = null; } } _context.SaveChanges(); await _signInManager.RefreshSignInAsync(user); StatusMessage = "Your profile has been updated"; return(RedirectToPage()); }