foreach 无法将类型为“System.String”的对象强制转换为类型“System.Web.HttpPostedFile”
asp.net不能使用foreach遍历HttpFileCollection对象,要不有些时候会报无法将类型为“System.String”的对象强制转换为类型“System.Web.HttpPostedFile”。示例代码如下
public void ProcessRequest(HttpContext context) { if (context.Request.Files.Count > 0) { foreach (HttpPostedFile f in context.Request.Files) if (f.FileName != "") { f.SaveAs(context.Server.MapPath("upload/" + f.FileName)); } context.Response.Write(1); } else context.Response.Write("没有文件上传!"); }
可以使用for语句来实现遍历。
public void ProcessRequest(HttpContext context) { if (context.Request.Files.Count > 0) { for (int i = 0, j = context.Request.Files.Count; i < j; i++) { HttpPostedFile f = context.Request.Files[i]; f.SaveAs(context.Server.MapPath("upload/" + f.FileName)); } context.Response.Write(1); } else context.Response.Write("没有文件上传!"); }
csdn和stackoverflow.com都有介绍
Cannot implicitly convert type 'System.Web.HttpPostedFile' to 'System.Web.HttpPostedFileBase'
加支付宝好友偷能量挖...
原创文章,转载请注明出处:foreach 无法将类型为“System.String”的对象强制转换为类型“System.Web.HttpPostedFile”