kav@94 Ответов: 3

Проверка расширения загрузчика нескольких файлов не работает все время


Ниже приведен мой код, который проверяет наличие ...b.doc в моих выбранных файлах этого конкретного множественного загрузчика файлов моя проблема заключается в том, что если я выберу
200-c.docx,201-C.docx,202.wma и 203. wma с тем же порядком говорят, что validformat работает несколько раз и не работает несколько раз.

Что я уже пробовал:

я попробовал приведенный выше код, но он не работает, когда я делаю это несколько раз

Afzaal Ahmad Zeeshan

Какова цель этого? Будьте более конкретны, чтобы мы могли предоставить наилучший выход.

3 Ответов

Рейтинг:
2

Patrice T

Вы проверяете имя файла на соответствие строчным и прописным буквам, но любое сочетание будет неудачным.
Перед тестированием вам необходимо преобразовать имя файла в нижний или верхний регистр.


Patrice T

Вы должны научиться искать такую информацию в Google.

Рейтинг:
2

Graeme_Grant

var myfile = chkFile.value.ToLower();
var validExtension = "-c.doc";
label.innerText = myfile.EndsWith(validExtension) ? "Valid Format" : "Invalid Format";


ОБНОВЛЕНИЕ: Вот тест, чтобы проверить, что приведенный выше код работает:

Версия C#6+
var files = new List<string> { "aaa.mp3", "aaa-c.mp3", "aAa-c.DoC", "aAa-c.doc" };
var validExtension = "-c.doc";
foreach (var file in files)
{
    Console.WriteLine($"{file} is  {(file.ToLower().EndsWith(validExtension) ? "Valid Format" : "Invalid Format")}");
}

Console.WriteLine("-- done --");
Console.ReadKey();


C# 5.0 или старше:
var files = new List<string> { "aaa.mp3", "aaa-c.mp3", "aAa-c.DoC", "aAa-c.doc" };
var validExtension = "-c.doc";
foreach (string file in files)
{
    Console.WriteLine(String.Format("{0} is  {1}", file, 
                      file.ToLower().EndsWith(validExtension)
                          ? "Valid Format"
                          : "Invalid Format");
}

Console.WriteLine("-- done --");
Console.ReadKey();

Выход:
aaa.mp3 is  Invalid Format
aaa-c.mp3 is  Invalid Format
aAa-c.DoC is  Valid Format
aAa-c.doc is  Valid Format
-- done --


kav@94

я пробовал таким образом, но все равно это не работает

if (myfile. indexOf("-c.doc").столоверчением () и gt; 0 || файл myfile.метод indexOf("-C.DOC").столоверчением () и gt; 0 || файл myfile.метод indexOf("-C.doc").столоверчением () и gt; 0 || файл myfile.метод indexOf("-c.DOC").столоверчением () и gt; 0 || файл myfile.метод indexOf("-c.docx").столоверчением () и gt; 0 || файл myfile.метод indexOf("-C.DOCX").столоверчением () и gt; 0 || файл myfile.метод indexOf("-C.docx").столоверчением () и gt; 0 || файл myfile.метод indexOf("-c.DOCX").столоверчением () и gt; 0) {
label.innerText = " допустимый формат";
}
еще {
label.innerText = " недопустимый формат";
chkFile.значение = "";
}
}

Graeme_Grant

Не говорите мне, что вы делаете, прочтите мое решение и замените свой код.

kav@94

я пробовал только ваш код но он не работает он все еще принимает другие расширения

Graeme_Grant

Взгляните на обновление решения. Работать отлично. Вы неправильно внедрили это изменение. Запустите тестовый код в новом консольном приложении, и вы увидите тот же результат, что и выше.

kav@94

я получаю ошибку рядом с циклом foreach в var как синтаксическую ошибку, а также рядом с консолью.writeline as expected ')' это функция javascript, а не код c#

Graeme_Grant

Код работает отлично. Синтаксическая ошибка может означать, что вы ввели его неправильно.

Если вы используете pre-C#6, то есть: C#5 или старше, то консольная строка должна использовать старую строку.Формат (...) для вывода результатов.

kav@94

его .net framework 3.5

Graeme_Grant

Почему такая старая неподдерживаемая версия фреймворка?

Добавлена новая версия теста, которая будет работать с C# 5.0 или старше (Framework 3.5)

kav@94

но все равно я получаю ошибку рядом с VAR files = new List & lt;string & gt; { "aaa.mp3", "aaa-c. mp3", "aAa-c.DoC", "aAa-c.doc"}; запятые в этой строке и рядом с строкой foreach (string file in files) кроме того, я не могу статически хранить имена файлов в списке, он должен быть табен из файлов, выбранных с помощью fileuploader

Graeme_Grant

Вы программист, измените создание списка тестовых файлов.

kav@94

да но я новичок в этом деле не могли бы вы мне помочь

Graeme_Grant

Как создать список строк, а затем добавить в него список строк? Это все, что делает эта строка кода.

Я установил версию фреймворка на 3.5, и он компилируется и работает нормально. Проблема в том, что вы делаете. Больше я ничем не могу вам помочь!

Рейтинг:
1

koklimabc

Надо было попробовать:

if (myfile.indexOf("-c.doc") != -1 || myfile.indexOf("-C.DOC") > != -1)


kav@94

я даже попытался С если (файл myfile.метод indexOf("-c.doc") != -1 || файл myfile.метод indexOf("-C.DOC") &ГТ; != -1) но если я выбираю файлов в
ниже порядка он все еще говорит допустимый формат, но он должен сказать недопустимый формат
потому что в выбранных файлах есть файл. mp3 400-C.doc,401-c.doc,402-C.doc,403. mp3