提问者:小点点

。NET核心web api(跨域),通过ajax发布图像base64String不工作


我正在尝试从我的站点域(https://localhost/site1)向托管在域(https://localhost/siteapi)上的web api发送几个参数(包括base64String)

下面是我的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操作中的数据始终为null,我也得到了这种类型的错误:

{“类型”:“https://tools.ietf.org/html/rfc7231#section-6.5.13”,“标题”:“不支持的媒体类型”,“状态”:415,“跟踪ID”:“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>

我头上的头发所剩无几,请帮帮我!


共1个答案

匿名用户

URL:https://localhost/siteapi/api/pdfcreator

控制器操作:CreateImage

您似乎正在重定向到错误的操作