【发布时间】:2021-07-23 06:45:24
【问题描述】:
我有一个简单的应用程序,它应该显示托管在 S3 上的图像。图像在浏览器中加载良好: https://s3.amazonaws.com/mlsgrid/images/a54e5e4c-e205-4b98-9ee7-4746b75d0a61.jpg
但是当嵌入 html 标签时,我得到 403 禁止:
我尝试添加 CORS,但仍然无法正常工作。我需要做什么才能显示此图片?
services.AddCors(options =>
{
options.AddDefaultPolicy(
builder =>
{
builder.AllowAnyHeader().AllowAnyOrigin()
.AllowAnyMethod().SetIsOriginAllowedToAllowWildcardSubdomains();
});
});
【问题讨论】:
-
为什么你认为它是 CORS?如果是,控制台选项卡将显示错误。例如。
Cross-Origin Request Blocked: REASON. -
可以给S3 bucket添加CORS权限,见:Using cross-origin resource sharing (CORS) - Amazon Simple Storage Service
-
图像通常不会被 CORS 屏蔽。
-
注意类型被列为 xml,而不是图像。您可能需要更正 s3 中的对象元数据。
-
图片是base64字符串吗?
标签: c# amazon-web-services asp.net-core amazon-s3