Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проверка на существование файла 
V
    Опции темы
Yagmort
Дата 3.3.2011, 09:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 339
Регистрация: 17.6.2009

Репутация: нет
Всего: -1



Подскажите как решить проблему хочу проверить на существование файла или несуществование, но получается, так, что даже если файл существует, он не выполняет if (System.IO.File.Exists(pathBitMap)) - хотя я делаю точку останова,  смотрю что туда передается, копирую путь, вставляю в проводник и картинка показывается (проблема в русском пути - однозначно). А так постоянно выполняется участок с if (!System.IO.File.Exists(pathBitMap)). Как исправить данный баг ? 
Код

string pathBitMap;
string[] img = { ".gif", ".jpeg", ".bmp", ".raw", ".png", ".emf", ".jpg", ".ico", ".tif", ".tiff", ".jp2", ".pcx", ".tga", ".wbmp" };
for (int kolBitMap = 0; kolBitMap <= 13; kolBitMap += 1)
                {
                    int increment=1;
                    @pathBitMap = Class1.fullFilePath.Substring(0, lengthFilePath - expansion.Length) + img[kolBitMap];
                    if (System.IO.File.Exists(pathBitMap))//проверка, существует ли данный файл-картинка на диске или нет 
                    {
                        if (pathBitMap != null)
                        {
                            Class1.truePathBitMapFile = pathBitMap;
                            increment = 0;
                        }
                        break;
                    }
                    if (!System.IO.File.Exists(pathBitMap))
                    {
                       // increment = 1;
                       Class1.increment += increment++;
                    }
               }


Это сообщение отредактировал(а) Yagmort - 3.3.2011, 09:56
PM MAIL   Вверх
Vova14
Дата 3.3.2011, 10:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 11.2.2011

Репутация: нет
Всего: нет



Попробуй путь  взять в кавычки
PM MAIL   Вверх
Yagmort
Дата 3.3.2011, 10:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 339
Регистрация: 17.6.2009

Репутация: нет
Всего: -1



Цитата(Vova14 @ 3.3.2011,  10:01)
Попробуй путь  взять в кавычки

вот что пробовал и вообще результат никакой.
"\"" + pathBitMap + "\""
"\'" + pathBitMap + "\'"
"\"" + @pathBitMap + "\""
"\'" + @pathBitMap + "\'"

PM MAIL   Вверх
Vova14
Дата 3.3.2011, 11:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 11.2.2011

Репутация: нет
Всего: нет



Интересно посмотреть на формирование  Class1.fullFilePath и объявление lengthFilePath и expansion

PM MAIL   Вверх
Yagmort
Дата 3.3.2011, 11:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 339
Регистрация: 17.6.2009

Репутация: нет
Всего: -1



Цитата(Vova14 @ 3.3.2011,  11:00)
Интересно посмотреть на формирование  Class1.fullFilePath и объявление lengthFilePath и expansion

Код

Class1.fullFilePath - переменная стат класса.
lengthFilePath
int lengthFilePath =Class1.fullFilePath.Length;

дело даже не в этом а в том, что если сюда воткнуть это 
(System.IO.File.Exists(@"C:\Картинка\моя.jpg")) все равно игнорит.
PM MAIL   Вверх
CYBERDREAM
Дата 3.3.2011, 11:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I think, there4 I am
***


Профиль
Группа: Завсегдатай
Сообщений: 1096
Регистрация: 31.10.2006
Где: CyberLand

Репутация: 11
Всего: 28



а это ASP?

можешь кинуть пример?


--------------------
Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно)
Telegram, skype: kuchuk.artiom
PM MAIL WWW   Вверх
Vova14
Дата 3.3.2011, 11:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 11.2.2011

Репутация: нет
Всего: нет



Сделал на C:\ Папку Картинка, а в ней файл моя.jpg

и успешно оказался в if на sss

    if (System.IO.File.Exists(@"C:\Картинка\моя.jpg"))
    {
      int sss = 1;
    }

PM MAIL   Вверх
Yagmort
Дата 3.3.2011, 11:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 339
Регистрация: 17.6.2009

Репутация: нет
Всего: -1



Это ASP, но не думаю, что есть разница... для данного алгоритма
Код

string[] img = { ".gif", ".jpeg", ".bmp", ".raw", ".png", ".emf", ".jpg", ".ico", ".tif", ".tiff", ".jp2", ".pcx", ".tga", ".wbmp" };
            string subString;
            int lengthFilePath = Class1.fullFilePath.Length;
            int firstSymbol = lengthFilePath - 5;
            subString = Class1.fullFilePath.Substring(firstSymbol, 5);
            int point;
            point = subString.IndexOf('.');
            if (point >= 0)
            {
                string expansion;
                int lengthsubString;
                lengthsubString = subString.Length;
                expansion = subString.Substring(point, lengthsubString - 1);
                string pathBitMap;

                for (int kolBitMap = 0; kolBitMap <= 13; kolBitMap += 1)
                {
                    int increment=1;

                    pathBitMap = Class1.fullFilePath.Substring(0, lengthFilePath - expansion.Length) + img[kolBitMap];

                    if (System.IO.File.Exists(@"C:\P1050935.gif"))//проверка, существует ли данный файл-картинка на диске или нет 
                    {
                        if ( pathBitMap != null)
                        {
                           Class1.truePathBitMapFile =  pathBitMap ;
                            increment = 0;
                        }
                        break;
                    }
                    if (!System.IO.File.Exists(pathBitMap))
                    {
                       Class1.increment += increment++;
                    }
               
               }
}


Добавлено через 9 минут и 47 секунд
Цитата(Vova14 @ 3.3.2011,  11:35)
Сделал на C:\ Папку Картинка, а в ней файл моя.jpg

и успешно оказался в if на sss

    if (System.IO.File.Exists(@"C:\Картинка\моя.jpg"))
    {
      int sss = 1;
    }

верю, но у меня чет не фурычит, вот я и хочу разобраться почему.

Добавлено через 13 минут и 52 секунды
Блин я похоже понял, у меня не хочет искать его на рабочем столе, а на диске с например в русской папке ищет, видимо доступа нет к файлу от имени приложения ?

Это сообщение отредактировал(а) Yagmort - 3.3.2011, 11:41
PM MAIL   Вверх
CYBERDREAM
Дата 3.3.2011, 12:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I think, there4 I am
***


Профиль
Группа: Завсегдатай
Сообщений: 1096
Регистрация: 31.10.2006
Где: CyberLand

Репутация: 11
Всего: 28



вполне может быть. 
Когда деплоил сайт, изображения не отображались как раз из-за этих прав. 


--------------------
Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно)
Telegram, skype: kuchuk.artiom
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0577 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.