Я написал код API .Net для загрузки файла на один диск,
Но постоянно сталкиваюсь с проблемой "Entity разрешает запись только с заголовком JSON Content-Type". даже если я изменил тип контента на JSON.
Пожалуйста, помогите.
Код контроллера
[HttpPost("upload")]
public async Task UploadToOneDrive([FromForm] IFormFile file)
{
if (file == null || file.Length == 0)
return BadRequest("File not selected");
using (var stream = file.OpenReadStream())
{
var fileName = file.FileName;
var folderName = "https://springernature-my.sharepoint.co ... s/PicScout";
var UserId = "mahesh.Borhade@springernature.com";
await _graphService.UploadFileToOneDriveAsync(stream, UserId, folderName, fileName);
}
return Ok("File uploaded successfully");
}
Код обслуживания
private void InitializeGraphClient()
{
var tenantId = _configuration["AzureAd:TenantId"];
var clientId = _configuration["AzureAd:ClientId"];
var clientSecret = _configuration["AzureAd:ClientSecret"];
// Use Azure.Identity's ClientSecretCredential for authentication
var clientSecretCredential = new ClientSecretCredential(tenantId, clientId, clientSecret);
_graphClient = new GraphServiceClient(clientSecretCredential);
}
public async Task UploadFileToOneDriveAsync(Stream fileStream, string UserId, string folderName, string fileName)
{
var uploadPath = string.IsNullOrEmpty(folderName) ? $"/{fileName}" : $"/{folderName}/{fileName}";
try
{
await _graphClient.Users[UserId].Drive.Items["root"]
.ItemWithPath(uploadPath)
.Content
.Request()
.PutAsync(fileStream);
}
catch(Exception ex) {
}
}
Подробнее здесь: https://stackoverflow.com/questions/790 ... ype-header