public async Task <ActionResult <UploadStartResponse> > BatchUploadAsync( [FromForm] UploadRequestForm model, CancellationToken token) { var tempDataProvider = _tempDataDictionaryFactory.GetTempData(HttpContext); var tempData = tempDataProvider.Get <TempData>($"update-{model.SessionId}"); if (tempData == null) { ModelState.AddModelError("error", "bad upload"); return(BadRequest(ModelState)); } var index = (int)(model.StartOffset / UploadInnerResponse.BlockSize); await BlobProvider.UploadBlockFileAsync(tempData.BlobName, model.Chunk.OpenReadStream(), index, token); tempDataProvider.Put($"update-{model.SessionId}", tempData); return(new UploadStartResponse()); }