我的文件上传不起作用。每次尝试都会出现此错误:Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index
。
我正在执行.cshtml
文件中的所有操作,因为前一位网站管理员在被解雇时删除了所有源代码。因此,我只有部署的文件可以使用,而没有控制器和模型。我也无法在网站上添加任何新功能。
在上传单个文件之后,我使用了本教程this tutorial。
这是我的代码:
@using Microsoft.Web.Helpers;
@{
Layout="~/Views/Shared/_FUllWidthLayout.cshtml";
var message="";
if(IsPost){
if(Request.Files.Count > 0){ //<-- If more than 0 files, FAILS HERE
try{
var uploadedFile = Request.Files[0]; //<-- FAILS HERE
var fileName = Path.GetFileName(uploadedFile.FileName);
var fileSavePath = Server.MapPath("~/Documents/Jobs/" + fileName);
uploadedFile.SaveAs(fileSavePath);
message = Request.Files.Count + " files uploaded to " + fileSavePath;
}
catch(Exception e){
message = e.Message;
}
}else{
message = Request.Files.Count + " files uploaded.";
}
}
}
还有我的HTML:
<form id="uploadForm" method="post" enctype="multipart/form-data">
<h3>FileUpload - Single-File Example</h3>
<div class="inline-div">
@FileUpload.GetHtml(
initialNumberOfFiles:1,
allowMoreFilesToBeAdded:false,
includeFormTag:true,
uploadText:"Upload")
<small class="red">@message</small>
</div>
</form>
我还尝试将FileUpload控件从这样的形式中删除:
<h3>FileUpload - Single-File Example</h3>
<div class="inline-div">
@FileUpload.GetHtml(
initialNumberOfFiles:1,
allowMoreFilesToBeAdded:false,
includeFormTag:true,
uploadText:"Upload")
<small class="red">@message</small>
</div>
谁能指出我做错了什么以及如何解决?还是有另一个我可以用来完成相同工作的工具?