【发布时间】:2020-06-26 14:12:42
【问题描述】:
我正在尝试将几个参数(包括 base64String)从我的站点域 (https://localhost/site1) 发送到托管在域 (https://localhost/siteAPI) 上的 Web api
这是我所有的ajax
var formData = new FormData();
formData.append('base64image', base64ImageContent);
$.ajax({
url: 'https://localhost/SiteAPI/api/PdfCreator',
type: "POST",
data: formData,
processData: false,
contentType: false
});
我的 API 控制器:
[Route("api/[controller]")]
[ApiController]
[EnableCors("_myAllowSpecificOrigins")]
public class PdfCreatorController : ControllerBase
[HttpPost]
public IActionResult CreateImage([FromBody]string base64image)
{
return Ok();
}
这是从画布图表中提取图像的方式(使用 chartjs):
var base64ImageContent = image.replace(/^data:image\/(png|jpg);base64,/, "");
post 操作中的数据始终为空,我也收到这种类型的错误:
{"type":"https://tools.ietf.org/html/rfc7231#section-6.5.13","title":"不支持的媒体类型","status":415,"traceId": "|66d9ee0a-401aa3e22a2bb6e1。"}
编辑: 这是表单 HTML(我需要提交此表单才能使帖子正常工作吗?)
<form asp-controller="Assessments" asp-action="List" method="post">
<div class="form-row">
<div class="alert alert-dismissible " id="alert" role="alert">
</div>
</div>
<div class="form-inline mb-3">
<div class="custom-control custom-switch">
<input type="checkbox" class="custom-control-input" id="chkGetAll" asp-for="IncludeInactive">
<label class="custom-control-label" for="chkGetAll">Include Inactive Assessments?</label>
</div>
</div>
<div style="overflow: auto; height: 450px;">
<div id="divHidden" style="width:700px;height:450px;">
<canvas id="canvas" height="10" width="10"></canvas>
<img id="canvasimage" />
</div>
</div>
</form>
我头上的头发很少,请帮忙!
【问题讨论】:
-
有什么更新吗?我的回复能回答你的问题吗?
标签: jquery post asp.net-core-webapi