我的 API 控制器有一个方法
public class PhotoController : ApiController
{
public IPhotoService _photoService;
public PhotoController()
{
_photoService = new PhotoService();
}
[HttpPost]
[Route("photo/upload/{photo}")]
public bool UploadPicture()
{
try
{
var httpRequest = HttpContext.Current.Request;
JObject param = JObject.Parse(HttpContext.Current.Request.Params["photo"]);
var path = "../" + Utils.RandomGenerator() + Utils.RandomGenerator() + "." + httpRequest.Files[0].FileName.Split('.').Last();
var postedFile = httpRequest.Files[0];
var filePath = HttpContext.Current.Server.MapPath(path);
postedFile.SaveAs(filePath);
_photoService.UploadPhoto(param, path);
return true;
}
catch (Exception ex)
{
return false;
}
}
}
如果我删除这段代码
public IPhotoService _photoService;
public PhotoController()
{
_photoService = new PhotoService();
}
它可以工作,但是每当我创建服务时,API 方法都无法工作
在客户端控制台上总是打印出这个错误
POST localhost:17699/photo/upload/%7Bphoto%7D 500(内部服务器错误)
我不知道为什么,因为我的其他 API 控制器可以正常工作。
我已经搜索、清理和构建项目......等等......
你们能帮帮我吗