У меня есть следующий C# код:Ошибка при попытке загрузки файла ASPX/C#
string File = "../images/main/profile-icon.png";
if (Request.ContentLength != 0)
{
int Size = Request.Files[0].ContentLength/1024;
if (Size <= 512)
{
string LocalFile = Request.Files[0].FileName;
int dot = LocalFile.LastIndexOf('.');
string FileType = LocalFile.Substring(dot + 1);
if (FileType == "gif" || FileType == "jpg" || FileType == "png" || FileType == "GIF" || FileType == "JPG" || FileType == "PNG")
{
int LastIndex = LocalFile.LastIndexOf(@"\") + 1;
File = LocalFile.Substring(LastIndex, LocalFile.Length - LastIndex);
File = DateTime.Today.ToString();
string Path = Server.MapPath(" ../images/profiles") + "..\\" + File;
Request.Files[0].SaveAs(Path);
}
}
else
{
Response.Write("The file is too big !");
}
}
else
{
Response.Write("Unknown Error !");
}
Проблема заключается в том, что в третьей строке кода я получаю следующее сообщение об ошибке:
Index was out of range. Must be non-negative and less than the size of the collection.
это источник формы HTML:
<form name="Register" runat="server" style="margin-top: 15px;" onsubmit="return validateProfile('Register');">
<p>
photo:
<input type="file" name="File" style="margin-right:10px;" />
</p>
</form>
Мой вопрос, почему и как это можно исправить Тхи s?
Пожелайте о помощи, спасибо!
На какой линии ..? –
В этой строке «int Size = Request.Files [0] .ContentLength/1024;" –
вы, кажется, тестируете Request.ContentLength! = 0, а затем получаете доступ к Request.Files [0] Я думаю, это проблема – jbl