【问题标题】:Change image format using WebImage使用 WebImage 更改图像格式
【发布时间】:2015-03-16 06:00:58
【问题描述】:

我是 asp.net 的新手,我正在使用 asp.net mvc 4 创建一个网站,用户可以在其中上传任何类型的图像(png、jpeg、gif),但系统会将图像保存为 png格式。我正在使用WebImage 助手。到目前为止上传工作正常,但每当系统保存图像时,文件名看起来像这样,Filename.png.jpeg。这是我来自 Controller 的代码,

if (file != null && file.ContentLength > 0)
{
    string picName = "FileName";
    WebImage img = new WebImage(file.InputStream);
    if (img.Width > 265 || img.Height > 158)
    {
        img.Resize(265, 158);
    }
    string picExt = Path.GetExtension(file.FileName);
    if (picExt == ".jpg")
    {
        picExt = ".png";
    }
    string path = System.IO.Path.Combine(Server.MapPath("~/Images/"), picName + picExt);
    img.Save(path);
}

无论用户上传任何格式的图片,我如何才能将图片保存为仅png 格式?非常需要这个帮助。 Tnx。

【问题讨论】:

标签: asp.net asp.net-mvc image


【解决方案1】:

我遇到了同样的问题,我只是告诉它忽略正确的扩展强制。 第三个参数是 bool forceCorrectExtension,默认为 true。您不需要第二个参数,因为您手动设置了扩展。

img.Save(path, null, false);

【讨论】:

    【解决方案2】:

    刚刚遇到同样的问题。请看这里: WebImage.Save Method

    Cognis 是正确的,它可能会像那样工作。然而,第二个参数实际上告诉它保存为什么格式:

    imageFormat
    类型:System.String
    图像文件使用的格式 已保存,例如“gif”或“png”。

    jpeg 不会仅仅因为您更改扩展名而变成 png。除非Save 方法知道基于扩展名(???)重新格式化,否则我宁愿谨慎行事:

    img.Save(path, "png", false);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-07-09
      • 2021-02-27
      • 1970-01-01
      • 2017-11-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多