img标签不打印thumbnailed照片

时间:2018-06-05 15:59:06

标签: c# html asp.net-mvc

使用.net MVC Web应用程序进行项目。 我最近使用代码为照片创建了一个新的缩略图(重新定义照片的大小)。现在我正在尝试使用HTML的'img'标签打印照片,但没有成功。 缩略图创建代码:

Image thumbnail = Image.FromFile(destPath);
                thumbnail = (Image)(new Bitmap(thumbnail, new Size(this.m_thumbnailSize, this.m_thumbnailSize)));
                thumbnail.Save(destPathThumb);

现在用于img打印:

@Html.DisplayFor(modelitem=>item)
                <img class="img-rounded" style="border-radius:50%" src=@item alt="">

项目是图片的路径,它是当前的(我已经多次检查过)。 任何想法我会是什么? 感谢你们对我的帮助 ! :)

编辑:img标签打印正常图片 - &gt;我的程序没有创建的图片(正如我所说,我的程序创建了缩略图)

2 个答案:

答案 0 :(得分:0)

我想知道它是不是在图像上释放文件锁,我以前遇到过这个问题。你必须非常小心地释放那些Image和Bitmap对象。

这样的东西可能会起作用,因为它会在页面开始使用之前处理图像:

using(Image thumbnailoriginal = Image.FromFile(destPath)){
    using(Image thumbnail = (Image)(new Bitmap(thumbnailoriginal, new Size(this.m_thumbnailSize, this.m_thumbnailSize)))){
        thumbnail.Save(destPathThumb);
    }
}

最后似乎有很多括号,但没关系。

如果它仍然不起作用,你可以发布发送到浏览器的html,你可以使用&#34;查看页面源&#34;来自Chrome中的右键菜单。

答案 1 :(得分:0)

现在我们有了进入浏览器的html,我们可以看到src属性是直接从C盘中提取的,而不是来自网址:

<img class="img-rounded" style="border-radius:50%" alt="" src="C:\Users\Operu\Desktop\dest\Thumbnails\2018\6\Sasuke.png">

通常我们希望看到更像这样的东西:

<img class="img-rounded" style="border-radius:50%" alt="" src="\Thumbnails\Sasuke.png">

您可以在下次发布模型和控制器文件,这样我们就可以看到@item在查看视图时的对象类型。然后我们可以将它拉到相对的URL地址而不是文件位置。