gpt4 book ai didi

asp.net-core - 启用二进制媒体类型会中断 AWS Lambda 中的选项 POST 调用 (CORS)

转载 作者:行者123 更新时间:2023-12-04 04:20:18 25 4
gpt4 key购买 nike

AWS 新手..

我们有一个作为 lambda 函数在无服务器 aws 实例上运行的 .NET Core 微服务。

我们的 Controller 看起来像这样

[Route("api/[controller]")]
[ApiController]
public class SomeController : ControllerBase
{


[HttpGet()]
[Route("getsomedoc")]
public async Task<IActionResult> GetSomeDoc()
{
byte[] content;

//UI needs this to process the document
var contentDisposition = new System.Net.Http.Headers.ContentDispositionHeaderValue("attachment");
contentDisposition.FileName = "File Name";

Response.Headers[HeaderNames.ContentDisposition] = contentDisposition.ToString();

return File(content, "application/octet-stream");
}


[HttpPost()]
[Route("somepost")]
public async Task<IActionResult> SomePost()
{
return null;

}
}

网址

{{URL}}/getsomedoc
{{URL}}/somepost

为了让 getsomedoc 正常工作,我们在 AWS 包设置中启用了“二进制媒体类型”/,否则它会返回字节数组而不是文件。

但是当 UI 使用方法:OPTIONS & Access-Control-Request-Method as POST

当我们删除二进制媒体类型时,“somepost”开始工作。

寻找关于为什么会发生这种情况的建议?以及我们可以从网关添加/删除什么来解决这个问题。

最佳答案

好吧,我们最终以一种奇怪的方式解决了这个问题。

为 lambda 添加了两个网关- 其中一个启用了二进制- 在另一个上禁用。

为了getsomedoc - 使用启用二进制媒体类型的postsomedoc - 使用另一个

希望有更好的方法!!

关于asp.net-core - 启用二进制媒体类型会中断 AWS Lambda 中的选项 POST 调用 (CORS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59568148/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com