У нас есть метод POST в веб-API Microsoft .NET. Этот метод записи обрабатывает PDF-файл на сайте Sharepoint. Мы тестировали этот метод в Postman, и этот метод работает соответственно
Однако мы пытаемся выполнить этот метод с помощью кнопки отправки в самом PDF-файле с URL-адресом действия, специфичным для метода Post в Web Api,тот самый URL, который правильно работает в почтальоне
Когда я пытаюсь выполнить это действие / нажимая кнопку Отправить, я получаю следующую ошибку
Существует ли какая-либо конкретная стратегия для выполнения метода POST Web Api непосредственно через кнопку отправки PDF
Заранее спасибо
Вот мой метод публикации Web Api
[HttpPost]
[Route("SubmitForm")]
public async Task<IActionResult> SubmitForm()
{
var file = Request.Form.Files[0];
HttpClient client = GetBinaryRequestClient();
try
{
byte[] docAsBytes;
using (var ms = new MemoryStream())
{
file.CopyTo(ms);
docAsBytes = ms.ToArray();
}
PdfReader pdfReader = new PdfReader(docAsBytes);
MemoryStream m = new MemoryStream();
PdfStamper outStamper = new PdfStamper(pdfReader,m);
string formName = outStamper.AcroFields.GetField("FormSeqNo");
string endpointUrl = string.Format(
"{0}{1}/_api/web/GetFolderByServerRelativeUrl('{2}')/Files/Add(url='{3}', overwrite=true)",
this.apiService.AppSettings.SharePointSettings.SPSiteURL,
this.apiService.AppSettings.SharePointSettings.SmartFormsRelativeSiteURL,
this.apiService.AppSettings.SharePointSettings.SubmittedPDFsLibrary,
$"{formName}.pdf");
ByteArrayContent imageBytes = new ByteArrayContent(docAsBytes);
var result = await client.PostAsync(endpointUrl, imageBytes);
return Ok();
}
catch (Exception ex)
{
return StatusCode(StatusCodes.Status500InternalServerError, $"Error in method {ex.Message}");
}
}