在正确以...开头的“创建”视图中
@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( )
就像它应该的那样,一切都按它应该的方式工作。
这到底是怎么回事?
下面是“readURL()”函数的 JavaScript。
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 函数可能会爆炸?
我将如何修复它以处理带括号的文件名?