Загрузка файла не попадает в метод контроллера, если имя файла содержит круглые скобки VS2010 ASP.NET MVC

В представлении Create, которое правильно начинается с ...

@using (Html.BeginForm("Create", "Song", FormMethod.Post, new { enctype = "multipart/form-data" }))

и среди нескольких других полей есть ...

<div class="editor-field">
    <input type='file' name="SongFileUpload" id="SongFileUpload" onchange="readURL(this);" />
    @Html.ValidationMessageFor(model => model.SongData)
</div>

заканчивая

<p>
    <input type="submit" value="Create" />
</p>

если я просматриваю и выбираю имя файла, которое содержит начальные и конечные круглые скобки внутри имени ... когда я нажимаю кнопку "Создать", чтобы отправить его ... когда просто запускается сервер localhost, который VS2010 предоставляет ... он просто переходит прямо к ошибке IE (v10) ....

>This page can't be displayed
>
>•Make sure the web address http://localhost:63129 is correct.  
>•Look for the page with your search engine.  
>•Refresh the page in a few minutes.

Сначала я подумал, что это может быть потому, что имя файла начинается с символа «@». но это не так, поскольку я могу выбрать другое имя файла, которое имеет такую ​​же длину, но не содержит круглых скобок и переходит в

[HttpPost] 
public ActionResult Create( )

Вроде и надо и все работает как надо.

Что, черт возьми, здесь происходит?

Ниже приведен код JavaScript для функции "readURL ()".

function readURL(input) {
    if (input.files && input.files[0]) {
        var reader = new FileReader();

        reader.onload = function (e) {
            $('#SongMimeType').attr('value', input.files[0].type);
            $('#SongData').InnerHtml = (e.target.result);
        }

        reader.readAsDataURL(input.files[0]);
    }
}

Я предполагаю, что функция JavaScript - это то, что может взорваться ??
Как мне исправить это, чтобы обрабатывать эти имена файлов в круглых скобках ??


person TheGDog    schedule 25.06.2013    source источник
comment
Вы пробовали кодировать URL-адрес имени файла?   -  person offthat    schedule 26.06.2013
comment
URL кодирует имя файла, где именно? В функции JavaScript? Поскольку это поле является <input type="file"control. При его вызове просто появляется типичное диалоговое окно «Файл-› Открыть ». Какие еще события похожи на событие onchange, с которыми мне приходится работать?   -  person TheGDog    schedule 26.06.2013
comment
Для ясности ... когда я выбираю имя файла-нарушителя ... когда я нажимаю на "Отправить", он никогда не возвращается (останавливается) на мои точки отладки, которые я установил как в VS2010 ..., так и в отладке F12, доступной в IE. Это напрямую связано с тем, что ошибка This page can't be displayed   -  person TheGDog    schedule 26.06.2013
comment
Я реконструировал ваш проект настолько, насколько мог, учитывая информацию в вашем сообщении, и мне интересно, связано ли это с содержимым файла, а не с именем файла. Можете ли вы попробовать удалить круглые скобки из имени файла, о котором идет речь, и попробовать еще раз и посмотреть, все ли возникают ошибки?   -  person offthat    schedule 26.06.2013
comment
дело не в содержании. Это недопустимые символы в имени файла. в w3school маленькая попытка Это песочница. Я создаю похожий <input>, где тип - это поле файла, и он вернул сообщение об ошибке, объясняющее, что оно содержит недопустимые символы. Итак, сегодня я выясняю, как и где перехватить имя пути к файлу и передать его через кодировку URL, как вы предложили.   -  person TheGDog    schedule 26.06.2013
comment
Пшш ... дело не в персонажах. Думаю, это размер файла. Я только что заметил, что этот единственный файл в этой папке имеет размер более 5000 КБ. Я заметил это только сейчас, потому что я тестировал переименование других файлов, которые я мог просматривать и успешно загружать в схему именования, соответствующую этому файлу, который меня огорчает ... и он принял его для загрузки даже с аналогичным стилем именования. Я занимался отладкой, пытаясь использовать encodeURI (), чтобы помочь с воображаемой проблемой имени файла.   -  person TheGDog    schedule 26.06.2013
comment
Grrr ... это была проблема .. [ссылка] stackoverflow.com/questions/1067222/   -  person TheGDog    schedule 26.06.2013
comment
Спасибо, что переименовали файл, когда я спросил: P   -  person offthat    schedule 27.06.2013