Индекс находился за пределами массива ASP.NET
Я получаю ошибку, упомянутую в названии. Причина: массив должен возвращать 3 элемента, но эти элементы не передаются в массив. Не знаю почему. Вот код тогда я задам прямой вопрос:
public void barcodereader() { string str = string.Empty; string strImage = string.Empty; string strBarCode = string.Empty; DirectoryInfo foldersInsideDropHere = new DirectoryInfo(@"C:\Users\name\Desktop\images\DropHere"); DirectoryInfo[] foldersInsideDropHereSave = foldersInsideDropHere.GetDirectories(); foreach (DirectoryInfo Folder in foldersInsideDropHereSave) { string dropHereFolders = Folder.Name; DirectoryInfo dir = new DirectoryInfo(Path.Combine(@"C:\Users\name\Desktop\images\DropHere\", dropHereFolders)); string fulldirectory = dir.FullName; FileInfo[] dropHereSubDirectoriesfiles = dir.GetFiles(); foreach (FileInfo dropHereSubDirectoriesfile in dropHereSubDirectoriesfiles) { if (dir != null) { Bitmap bitmap = null; try { bitmap = new Bitmap(dropHereSubDirectoriesfile.FullName); } catch (Exception ex) { ex.ToString(); } if (bitmap == null)//If file is not image return error message to use "your folder contains non image files please remove and retry" { str = "Your folder contains non image files please remove and retry"; } else { strImage = "something"; strBarCode = ReadBarcodeFromFile(Path.Combine(fulldirectory, dropHereSubDirectoriesfile.Name)); } } } } } public String ReadBarcodeFromFile(string _Filepath) { String[] barcodes = BarcodeScanner.Scan(_Filepath, BarcodeType.Code39);//Issue is here this array stays 0 return barcodes[0];// error here }
Это метод, который я вызываю из контроллера в контроллере, который у меня есть:
[HttpPost] [ValidateAntiForgeryToken] public ActionResult Index(string str, string strBarCode, string strImage) { Methods Method0 = new Methods(); Method0.barcodereader(); ViewBag.ErrorMessage = str; ViewBag.BarCode = strBarCode; ViewBag.BarImage = strImage; return View(); }
Вопрос: как я передаю эти элементы или что я делаю неправильно?
Что я уже пробовал:
Я попытался отладить, чтобы найти проблему и дополнительную информацию о ней.