【问题标题】:img tag doesnt print thumbnailed photoimg 标签不打印缩略图照片
【发布时间】:2018-06-06 18:50:42
【问题描述】:

我正在使用 .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="">

item 是图片的路径,它是正确的(我检查了几次)。 任何想法我可以是什么? 感谢你们对我的帮助 ! :)

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

【问题讨论】:

  • 如果您在@item 变量中使用从.net 打印的路径并将其粘贴到src 属性中,图像是否显示在屏幕上?是相对路径还是以“/”开头的绝对路径?
  • 我对 MVC 不太熟悉,但尝试在 @item 周围加上引号,并使用 chrome 开发工具检查浏览器以确保它正在跟踪图像
  • 它是完整路径,如果我复制它而不是@item,img 标签仍然不打印它
  • 对 .net 不太熟悉,但是,DisplayFor() 方法是否使用正确的标题或任何标题渲染图像?很多时候使用渲染引擎,你需要在文件中包含头文件 ex: (content-type image/jpeg)

标签: c# html asp.net-mvc


【解决方案1】:

我想知道它是否没有释放图像上的文件锁定,我过去遇到过这个问题。你必须非常小心地释放那些 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贴出来,可以使用Chrome右键菜单中的“查看页面源代码”来实现。

【讨论】:

  • 感谢您的回答! ,但我应该把那个代码放在哪里?在 .net 网页内或在创建缩略图的 c# 页面上编辑:代码的第二行不起作用,它写道:“不能分配给‘缩略图’,因为它是‘使用变量’
  • 创建缩略图的 c# 页面。它们是您问题顶部的 3 行,我刚刚在它们周围包裹了一个 using()。
  • 还有一点要检查的是你可以直接在浏览器中访问图片,所以比如这里可以直接访问页面顶部的stackoverflow标志,必须有一个与你的类似的url图片:cdn.sstatic.net/Sites/stackoverflow/img/…
  • 请注意我在上面的评论中写的编辑,如果可以请更改代码来解决它.. 因为我不想把它搞砸并阻止它像你一样工作:)
  • 是的,现在已编辑,我没有注意到您正在用第二个图像覆盖第一个图像。现在它们都有不同的名称,所以它可能会起作用!
【解决方案2】:

现在我们有了要进入浏览器的 html,我们可以看到 src 属性是直接从 C 盘拉取的,而不是从 web url 拉取的:

<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 地址而不是文件位置。

【讨论】:

  • orah1998,你解决了这个问题吗?如果你这样做了,你能标记哪个答案对你有用,这样我就可以得到超过 50 分!
猜你喜欢
  • 1970-01-01
  • 2020-03-03
  • 1970-01-01
  • 1970-01-01
  • 2011-09-06
  • 2012-05-24
  • 2018-04-12
  • 2013-07-11
  • 2014-02-13
相关资源
最近更新 更多