public async Task <ActionResult> DownloadFile(int fileId) { FileService fileService = new FileService(new FileRepository()); FileFromJson.File file = await fileService.GetFileJsonAsync(fileId); return(File(Convert.FromBase64String(file.content), System.Net.Mime.MediaTypeNames.Application.Octet, file.filename)); }
public async Task <ActionResult> Show(int id) { FileFromJson.File file = await fileService.GetFileJsonAsync(id); var bytes = Convert.FromBase64String(file.content); return(File(bytes, "image/jpg")); }
public async Task <ActionResult> AddNewExpo(ExposViewModel _exposViewModel, string redirectUrl, HttpPostedFileBase uploadImage) { if (!ModelState.IsValid) { return(View(_exposViewModel)); } var expo = new Expos { expoName = _exposViewModel.ExpoName, startDate = _exposViewModel.DateStart, endDate = _exposViewModel.DateEnd, description = _exposViewModel.Description, }; FileRepository fileRepository = new FileRepository(); byte[] bytes; if (_exposViewModel.logoFile != null) { using (Stream inputStream = _exposViewModel.logoFile.InputStream) { MemoryStream memoryStream = inputStream as MemoryStream; if (memoryStream == null) { memoryStream = new MemoryStream(); inputStream.CopyTo(memoryStream); } bytes = memoryStream.ToArray(); } //Byte[] bytes = _exposViewModel.logoFile.//System.IO.File.ReadAllBytes(expos.logoFile); String fileBase64 = Convert.ToBase64String(bytes); FileFromJson.File file = new FileFromJson.File() { authorId = Convert.ToInt16(Session["UserId"]), content = fileBase64, filename = _exposViewModel.logoFile.FileName, fileType = "logo", dateTime = DateTimeOffset.Now }; file = await fileRepository.AddFileFromJsonAsync(file); expo.logoFileId = file.fileId; } switch (Properties.Settings.Default.GetDataFrom) { case "db": await expoService.AddExpoAsync(expo); break; case "Json": await expoService.AddExpoFromJsonAsync(expo); break; } return(RedirectToLocal(redirectUrl)); }
public async Task <ActionResult> GetFileFromExpoFile(List <ExpoFilesFromJson.ExpoFiles> expoFilesFromJson) { List <FileFromJson.File> fileFromJsons = new List <FileFromJson.File>(); FileService fileService = new FileService(new FileRepository()); foreach (ExpoFilesFromJson.ExpoFiles expoFile in expoFilesFromJson) { FileFromJson.File file = await fileService.GetFileJsonAsync(expoFile.fileId); fileFromJsons.Add(file); } return(View(fileFromJsons)); }
public async Task <ActionResult> addFile(ExposFilesViewModel exposFilesViewModel) { if (!ModelState.IsValid) { return(View(exposFilesViewModel)); } var expoFile = new ExpoFilesFromJson.ExpoFiles() { expoId = exposFilesViewModel.expoId }; FileRepository fileRepository = new FileRepository(); byte[] bytes; if (exposFilesViewModel.file != null) { using (Stream inputStream = exposFilesViewModel.file.InputStream) { MemoryStream memoryStream = inputStream as MemoryStream; if (memoryStream == null) { memoryStream = new MemoryStream(); inputStream.CopyTo(memoryStream); } bytes = memoryStream.ToArray(); } String fileBase64 = Convert.ToBase64String(bytes); FileFromJson.File file = new FileFromJson.File() { authorId = Convert.ToInt16(Session["UserId"]), content = fileBase64, filename = exposFilesViewModel.file.FileName, fileType = "file", dateTime = DateTimeOffset.Now }; file = await fileRepository.AddFileFromJsonAsync(file); expoFile.fileId = file.fileId; } await expoFilesService.AddExpoFilesFromJsonAsync(expoFile, "expoFile"); return(RedirectToLocal(exposFilesViewModel.RedirectUrl)); }
public async Task <FileFromJson.File> GetFileJsonAsync(int _fileId) { FileFromJson.File file = null; switch (Properties.Settings.Default.GetDataFrom) { case "Json": string json = await GRADEXPO.HttpClient.Browser.GetAsync(string.Format("{0}{1}({2})", Properties.Settings.Default.BaseUrlApi, Properties.Settings.Default.postfixGetFile, _fileId)); file = await Task.Factory.StartNew(() => JsonConvert.DeserializeObject <FileFromJson.File>(json)); break; break; default: throw new System.Exception(string.Format("Приложение не умеет работать с типом данных {0}. Если вам нужно работать с такими типом данным, обратитесь к разработчику", Properties.Settings.Default.GetDataFrom)); } return(file); }
public async Task <FileFromJson.File> AddFileFromJsonAsync(FileFromJson.File _file) { FileFromJson.File newFile = null; switch (Properties.Settings.Default.GetDataFrom) { case "Json": string json = JsonConvert.SerializeObject(_file, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore, DefaultValueHandling = DefaultValueHandling.Ignore }); string res = await HttpClient.Browser.ByMethodAsync(string.Format("{0}{1}", Properties.Settings.Default.BaseUrlApi, Properties.Settings.Default.postfixGetFile), json, "POST"); newFile = await Task.Factory.StartNew(() => JsonConvert.DeserializeObject <FileFromJson.File>(res)); break; default: throw new System.Exception(string.Format("Приложение не умеет работать с типом данных {0}. Если вам нужно работать с такими типом данным, обратитесь к разработчику", Properties.Settings.Default.GetDataFrom)); } return(newFile); }
public async Task <ActionResult> addFile(ImageViewModel imageViewModel) { FileRepository fileRepository = new FileRepository(); byte[] bytes; if (imageViewModel.photoFile != null) { using (Stream inputStream = imageViewModel.photoFile.InputStream) { MemoryStream memoryStream = inputStream as MemoryStream; if (memoryStream == null) { memoryStream = new MemoryStream(); inputStream.CopyTo(memoryStream); } bytes = memoryStream.ToArray(); } String fileBase64 = Convert.ToBase64String(bytes); FileFromJson.File file = new FileFromJson.File() { authorId = Convert.ToInt16(Session["UserId"]), content = fileBase64, filename = imageViewModel.photoFile.FileName, fileType = "img", dateTime = DateTimeOffset.Now }; file = await fileRepository.AddFileFromJsonAsync(file); ExpoFilesFromJson.ExpoFiles expoFiles = new ExpoFilesFromJson.ExpoFiles() { fileId = file.fileId, expoId = imageViewModel.expoId }; ExpoFilesRepository filesRepository = new ExpoFilesRepository(); await filesRepository.AddExpoFilesFromJsonAsync(expoFiles, "photoExpo"); } return(RedirectToLocal(imageViewModel.RedirectUrl)); }
public async Task <FileFromJson.File> AddFileFromJsonAsync(FileFromJson.File _file) { return(await fileRepository.AddFileFromJsonAsync(_file)); }