gpt4 book ai didi

c# - 我应该安装哪些库才能在基于Alpine的图像中的ASP NET Core应用程序中使用System.Drawing.Common

转载 作者:行者123 更新时间:2023-12-02 19:54:26 25 4
gpt4 key购买 nike

我在dotnet core 3.0应用程序中具有以下代码:

...
// This url returns image (Content-Type: Blob)
var imageUrl = "https://barcode.tec-it.com/barcode.ashx?data=ABC-abc-1234&code=Code128&dpi=96";
HttpClient client = HttpClientFactory.Create();
using (var input = await client.GetStreamAsync(imageUrl))
{
var bitmap = new Bitmap(input); // this is dangerous code
}
...

我想在基于alpine3.9(mcr.microsoft.com/dotnet/core/aspnet:3.0.0-alpine3.9)的docker容器中运行此代码
我知道我应该在docker容器中安装其他库以使用System.Drawing.Common:
FROM mcr.microsoft.com/dotnet/core/aspnet:3.0.0-alpine3.9
RUN echo "http://dl-cdn.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories \
&& apk update \
&& apk add \
libgdiplus

但是无论如何-它失败并显示以下堆栈跟踪:
System.ArgumentException: Parameter is not valid.
at System.Drawing.Image.InitializeFromStream(Stream stream)
at System.Drawing.Bitmap..ctor(Stream stream)

我知道这段代码在基于debian的容器中运行良好,如下所示:
FROM mcr.microsoft.com/dotnet/core/aspnet:3.0
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
libgdiplus


我试图在 Alpine 容器内安装 libgdiplus-devfontconfigttf-dejavu库,但是它不起作用

因此,主要问题-它是库相关的问题还是dotnet内的错误?如果是第一个-我应该安装哪些库才能正常工作?

最佳答案

TL; DR

https://barcode.tec-it.com/barcode.ashx?data=ABC-abc-1234&code=Code128&dpi=96更改为https://www.scandit.com/wp-content/themes/scandit/barcode-generator.php?symbology=code128&value=213214214&size=200&ec=L
说明

这是dotnet内部的错误-https://github.com/dotnet/corefx/issues/41527
问题链接生成GIF-导致问题。解决方法-使用链接将生成JPEG

关于c# - 我应该安装哪些库才能在基于Alpine的图像中的ASP NET Core应用程序中使用System.Drawing.Common,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58854185/

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