Я хочу получить весь список файлов в той же форме, как они сохранены из локального хранилища (пространство жесткого диска) / сервера с определенного пути - PullRequest
0 голосов
/ 17 апреля 2019

Я хочу отобразить список всех файлов (.jpg, .mp3, .psd, .tiff и т. Д.) Из локального хранилища (места на жестком диске), и путь локального хранилища генерируется, когда запускается запрос SQL, например.У меня есть поля folder_name, Subfolder_name и Id.

Итак, предположим, Query: Select Folder_name,Subfolder_name From Table where Id = 101; предположим, что я получаю вывод Folder_name=Users,Subfolder_name = Public.Теперь это значение должно быть передано в пути, например: Path =C:\Users\Public\.И из этого пути я хочу отобразить все файлы в той же форме, в которой они были сохранены.

В моей текущей реализации я получаю список файлов в форме base64. Но я хочу в той же форме, как онисохранено. Например.если файл находится в jpg, то хотите отобразить список файлов jpg.

Я получаю список файлов в форме base64.

  public List<Image> GetImagesBySourceKey(string ID)
        {
            List<Image> images = new List<Image>();


            string sqlQuery = "select folder_name,Subfolder_name from Table where Id= '" +
                              Id+ "'";

            foreach (DataRow dataRow in ExecuteQuery(sqlQuery))
            {                
                images.Add(new Models.Image()
                {
                    folder_name= dataRow["folder_name"].ToString(),
                    Subfolder_name = dataRow["Subfolder_name"].ToString()

                });
                DirectoryInfo d = new DirectoryInfo(@"C:\\Users\\bhagyeshc\\source\\repos\\abcd\\abcd\\" +
                                                    images[0].FileName + "\\" + Subfolder_name);
                FileInfo[] Files = d.GetFiles("*.*"); //Getting  files

                foreach (FileInfo file in Files)
                {
                    Image image = new Image();
                    var path = Path.Combine("~\\" + images[0].FileName + "\\" + Subfolder_name+ "\\" + file.Name);
                    image.Code = ImageBase64(path);
                    images.Add(image);
                }


            }

            return images;

        }

        private string ImageBase64(string path)
        {

            path = System.Web.Hosting.HostingEnvironment.MapPath(path);
            var ext = System.IO.Path.GetExtension(path);
            var contents = System.IO.File.ReadAllBytes(path);
            MemoryStream ms = new MemoryStream(contents);
            byte[] imageBytes = ms.ToArray();
            string base64String = Convert.ToBase64String(imageBytes);
            return base64String;

        }

1 Ответ

0 голосов
/ 17 апреля 2019
DirectoryInfo d = new DirectoryInfo(@"D:\"+Folder_name+"\"+SubFolder_name");
FileInfo[] Files = d.GetFiles("*.jpg"); //Getting Text files
string str = "";
foreach(FileInfo file in Files )
{
str = str + ","+file.Name;

}

str вернет все файлы в этой папке

...