如何填写列表<>使用foreach?

时间:2016-02-25 23:00:36

标签: c# asp.net c#-4.0 dropzone.js

我有一个列表List<string> img = new List<string>();,用于存储列表中图像的每个路径,一旦上传的文件应该img.Add(filename)到列表中,但它显示错误 System.ArgumentOutOfRangeException 表示列表中没有存储文件名,列表为空。有谁知道发生了什么事?

foreach (string s in Request.Files)
{
    HttpPostedFile file = Request.Files[s];
    int fileSizeInBytes = file.ContentLength;
    string fileName = file.FileName;// Request.Headers["X-File-Name"];
    string fileExtension = "";
    if (!string.IsNullOrEmpty(fileName))
    {
        fileExtension = Path.GetExtension(fileName);
        string savedFileName = Guid.NewGuid().ToString() + fileExtension;
        string path = HttpContext.Current.Server.MapPath("~/img/items/");
        string filename = path + savedFileName;
        file.SaveAs(filename);
        img.Add(filename);
    }
}

1 个答案:

答案 0 :(得分:2)

这非常可疑:foreach (string s in Request.Files)Request.Files[s]; 我猜你不想索引&#34; Request.Files&#34; (无论是什么)来自&#34; Request.Files&#34;本身