0

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 コントローラーはスムーズに動作するため、理由はわかりません。

プロジェクトを検索、クリーンアップ、ビルドしました...など...

助けてください

4

0 に答える 0