首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Magick.net将HttpPostedFile .heic转换为.jpg

如何使用Magick.net将HttpPostedFile .heic转换为.jpg
EN

Stack Overflow用户
提问于 2019-10-30 21:45:08
回答 1查看 1.6K关注 0票数 1

我有一个.NET c# web应用程序,允许用户上传图像。我安装了Magick.NET NuGet包。我正在尝试将上传的.heic文件转换为.jpg,但我不知道从哪里开始。

这是没有Magick.net的上传。

代码语言:javascript
复制
string fullPath = path + @"\Images\" + fileName;
Image image = Image.FromStream(postedFile.InputStream);

image.Save(path);

下面是我正在尝试的内容,但我得到了以下错误:参数无效

代码语言:javascript
复制
string fullPath = path + @"\Images\" + fileName;
Bitmap bitmap = new Bitmap(postedFile.InputStream); <-- ERROR

using (MagickImage i = new MagickImage(bitmap))
{
    i.Format = MagickFormat.Jpg;

    using (MemoryStream memStream = new MemoryStream(i.ToByteArray()))
    {
        image = Image.FromStream(memStream);
    }
}

image.Save(path);

下面是另一种类似于Magick.net文档的方法,但我得到了以下错误:安全透明方法访问安全关键方法的尝试失败。使用AllowPartiallyTrustedCallersAttribute标记的程序集,并使用级别2安全透明模型。级别2透明度导致AllowPartiallyTrustedCallers程序集中的所有方法默认为安全透明的,这可能是造成此异常的原因。

代码语言:javascript
复制
string fullPath = path + @"\Images\" + fileName;
Stream fs = postedFile.InputStream;
BinaryReader br = new System.IO.BinaryReader(fs);
byte[] bytes = br.ReadBytes((Int32)fs.Length);

using (MemoryStream memStream = new MemoryStream())
{
    using (MagickImage i = new MagickImage(bytes)) <-- ERROR
    {
        i.Format = MagickFormat.Jpg;

        image = Image.FromStream(memStream);
    }
}

image.Save(path);

有人有什么建议吗?

EN

回答 1

Stack Overflow用户

发布于 2020-09-30 20:56:10

您不需要为此实例化位图,该错误可能是因为您的流位置(您需要将其设置为0)。

以下是我为使这件事成功而做的事情

代码语言:javascript
复制
postedFile.InputStream.Position = 0; //just to avoid the Parameter is not valid error in case you did any previous manipulation with this


using (MagickImage i = new MagickImage(postedFile.InputStream))
{
    i.Format = MagickFormat.Jpg;

    using (MemoryStream memStream = new MemoryStream(i.ToByteArray()))
    {
        image = Image.FromStream(memStream);
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58634076

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档