C#
一种面向对象的类型安全的编程语言,它起源于 C 语言系列,包括对面向组件的编程的支持。
225 个问题
如果我正常显示资源图片是没有问题的,但是我显示其它网站的图片,它就提示跨域报错。如果我自己写个API中转后,直接访问图片正常的。但是显示还是不正确。请问如何快速解决显示图片的问题。直接显示,或者用中转方法都可以。以下我中转后的代码。也不显示图片。
<Image
Source="http://127.0.0.1:5555/abc.jpg"
x:Name="img2"
HorizontalAlignment="Stretch"
Height="100"/>
//我正常显示资源图片是没有问题的。
<Image
Source="/Assets/avatar.png"
HorizontalAlignment="Stretch"
Height="100"/>
你遇到的问题属于 跨域资源共享 (CORS) 限制,尤其是在访问其它网站图片资源时。简单来说:
<Image Source="http://example.com/image.jpg" />
加载图片,如果该站点没有正确设置 CORS 头(Access-Control-Allow-Origin
),浏览器或运行时环境(比如 WPF、UWP、Xamarin)会阻止它被渲染。你需要确保你的中转 API 返回的是一个完整的图片响应,包括:
如果答案是正确的,请点击“接受答案”并点赞。 如果您对此答案还有其他疑问,请点击“评论”。
注意:如果您想接收相关电子邮件,请按照我们的文档中的步骤启用电子邮件通知 此线程的通知。
我现在使用webapi进行中转显示还是不行,看一下我代码是不是哪里有问题,你上面讲的我都知道。具体如何解决。代码如何写。谢谢。。 builder.Services.AddCors(opt =>
{
opt.AddPolicy("AllowAllOrigins",
builder =>
{
builder
.AllowAnyHeader()
.AllowAnyMethod()
.AllowAnyOrigin();
});
});
builder.Services.AddControllers();
var app = builder.Build();
app.UseCors("AllowAllOrigins");//跨域