我尝试了下面的代码,这是我在模拟器中得到的输出
message.Attachments.Add(new Attachment()
{
ContentUrl = $"data:image/jpeg;base64,xxxx"
});
小智 4
数据 uri 图像似乎有最大大小,但是您的初始代码对我来说看起来不错,并且不会抛出显式的内部服务器错误(如果 datauri 太大,则会出现这种情况)。
我已经实现了类似的东西:
var reply = message.CreateReply("Here's a **datauri image attachment**");
reply.Attachments = new List<Attachment> {
new Attachment()
{
ContentUrl = "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAAQABAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAAQABADAREAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAACAUH/8QAJhAAAQMDAwQCAwAAAAAAAAAAAQIDBQQGEQcIEgATISIUMRUjUf/EABYBAQEBAAAAAAAAAAAAAAAAAAMBBP/EAB8RAAICAQQDAAAAAAAAAAAAAAECAAMRBBITIiFB8P/aAAwDAQACEQMRAD8AubjdVbtj5cQFi3tX2lS/ka16Rko9pZqHHfklplgKAylJPNR/vEZPWyvTpUN7jMyK3M21fE03ZLuQ1Gmbyc0j1Dudq7o8RztXFzXEGtacZeQhxipKT7D9qcKUOQ+skfRWKrdqxj71HI4erHME97633Fc+pF10c64pIg7ll6CldoEcHEoTVL7fMZ9se2CPOekdkCiSjIYmLvYvMRdLQPXDG3FGSEzK1iKB4rYCnaan7oVwcCQCHVqGTkkeEefGOgbTtjccyW6sM4QAT//Z",
ContentType = "image/jpg",
Name = "datauri"
}
};
Run Code Online (Sandbox Code Playgroud)
这会导致模拟器显示此图像(我需要更多代表来嵌入图像..呃..)

更新:~20kb 图像的数据 URI 版本工作得很好,但是~140kb 图像的数据 URI 版本失败,并在模拟器中出现“500 Internalservererror”。猜猜毕竟有尺寸限制..

因此,您能否验证您使用的 datauri 是否是有效的图像?您可以创建一个带有 img 元素的简单 html 页面,将值粘贴到 ContentUrl 中并在 html 页面中查看图像吗?或者甚至只是将其粘贴到浏览器地址栏中。
| 归档时间: |
|
| 查看次数: |
1980 次 |
| 最近记录: |