public IActionResult Upload(IList <IFormFile> files) { foreach (var file in files) { ContentDispositionHeaderValue header = ContentDispositionHeaderValue.Parse(file.ContentDisposition); string fileName = header.FileName; fileName = fileName.Trim('"'); fileName = Path.GetFileName(fileName); MemoryStream ms = new MemoryStream(); Stream s = file.OpenReadStream(); s.CopyTo(ms); byte[] data = ms.ToArray(); s.Dispose(); ms.Dispose(); string fileContent = System.Text.ASCIIEncoding.ASCII.GetString(data); FileFormatHandler handler1 = new FileFormatHandler(); FileStorageHandler handler2 = new FileStorageHandler(); DataImportHandler handler3 = new DataImportHandler(); handler1.NextHandler = handler2; handler2.NextHandler = handler3; handler3.NextHandler = null; handler1.Process(fileName, fileContent); } ViewBag.Message = files.Count + " file(s) imported successfully!"; return(View("Index")); }
public List <FileComponent> Search(string keyword, FileFilter filter) { List <FileComponent> list = new List <FileComponent>(); List <string> keywords = new List <string>(); // Keywords if (keyword.StartsWith("\"")) { int offset = keyword.EndsWith("\"") ? 2 : 1; keywords.Add(keyword.Substring(1, keyword.Length - offset)); } else { keywords.AddRange(keyword.Split(' ')); } // Filters FileFormatHandler handler = FileFormat.GetHandler(filter); // Files IEnumerator <string> it = keywords.GetEnumerator(); while (it.MoveNext()) { keyword = (string)it.Current; lock (Map) { foreach (string id in Map.Keys) { FileComponent file = Get(id); if (handler(file.Extension)) { string filename = file.Name.ToLower(); if (filename.Contains(keyword)) { list.Add(file); } } } } } return(list); }
public Dictionary <string, FileData> SearchFiles(string keyword, FileFilter filter) { Dictionary <string, FileData> files = new Dictionary <string, FileData>(); List <string> items = new List <string>(); // Keywords if (keyword.StartsWith("\"")) { int offset = keyword.EndsWith("\"") ? 2 : 1; items.Add(keyword.Substring(1, keyword.Length - offset)); } else { items.AddRange(keyword.Split(' ')); } // Filters FileFormatHandler handler = FileFormat.GetHandler(filter); // Files foreach (string item in items) { lock (FileMap) { foreach (string key in FileMap.Keys) { FileData data = FileMap[key]; if (handler(data.Extension)) { string filename = data.Name.ToLower(); if (filename.Contains(item) && !files.ContainsKey(key)) { files.Add(key, data); } } } } } return(files); }
public static void SpeichereKarteikartenSammlung(FileHandler fileHandler, FileFormatHandler fileFormatHandler, RecordcardSet recordCardSet, string path) { fileHandler.Schreibe(fileFormatHandler.Serialize(recordCardSet), path); }
public static RecordcardSet LeseKarteikartenSammlungAus(FileFormatHandler fileFormatHandler, FileHandler fileHandler, string path) { return(fileFormatHandler.Deserialize(fileHandler.Lade(path))); }