gpt4 book ai didi

c# - 使用 ImageMagick 将图像压缩为 azure blob

转载 作者:行者123 更新时间:2023-12-03 01:41:54 24 4
gpt4 key购买 nike

我正在编写一个 azure 函数来压缩上传到 blob 存储的图像并将压缩图像保存到另一个 blob。我用Magick.NET用于此的 nuget 包。

[FunctionName("Function1")]
public static void Run(
[BlobTrigger("test/{name}", Connection = "")]Stream image,
[Blob("test-output/{name}", FileAccess.ReadWrite)]CloudBlockBlob output,
string name,
TraceWriter log)
{
log.Info($"C# Blob trigger function Processed blob\n Name:{name} \n Size: {image.Length} Bytes");
using (MemoryStream memoryStream = new MemoryStream())
{
image.CopyTo(memoryStream);
ImageOptimizer imageOptimizer = new ImageOptimizer();
imageOptimizer.Compress(memoryStream);
output.UploadFromStream(memoryStream);
}
}

但是下面的行抛出异常,

enter image description here

关于如何解决这个问题有什么建议吗?

最佳答案

复制完成后,需要回退MemoryStream

image.CopyTo(memoryStream);
memoryStream.Position = 0;

否则,该位置将位于数据末尾,任何对其的读取操作都将返回 0 数据。

关于c# - 使用 ImageMagick 将图像压缩为 azure blob,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52273318/

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