我有这样的异步任务方法:
public async Task<Slider> EditSlider(HttpPostedFileBase file)
{
if (file != null)
{
var pic = Path.GetFileName(file.FileName);
var path = Path.Combine(HttpContext.Current.Server.MapPath("~/Content/images/slider"), pic);
file.SaveAs(path);
}
return file;
}
但在return file
行中我得到了
无法将表达式HttpPostedFileBase转换为异步方法返回类型
我该如何归还? 提前谢谢!
答案 0 :(得分:2)
首先,file
是HttpPostedFileBase
,而不是Slider
。如果有的话,那就是Task<HttpPostedFileBase>
。
但是,您的代码没有任何异步,因此您只需返回HttpPostedFileBase
而不是Task<HttpPostedFileBase>
。
public HttpPostedFileBase EditSlider(HttpPostedFileBase file)
{
if (file != null)
{
var pic = Path.GetFileName(file.FileName);
var path = Path.Combine(HttpContext.Current.Server.MapPath("~/Content/images/slider"), pic);
file.SaveAs(path);
}
return file;
}
你的方法也有一个误导性的名字 - 这里没有任何东西正在编辑..它只是保存一个上传的文件..但那是另一个时间
答案 1 :(得分:0)
您应该将方法签名更改为
public async Task<HttpPostedFileBase> EditSlider(HttpPostedFileBase file)
{
//your code here
}
致电,
var data = await EditSlider(myfile);