Rails 图像消失并出现错误:无法加载资源:net::ERR_CONTENT_LENGTH_MISMATCH

Posted

技术标签:

【中文标题】Rails 图像消失并出现错误:无法加载资源:net::ERR_CONTENT_LENGTH_MISMATCH【英文标题】:Rails image disappears with error: Failed to load resource: net::ERR_CONTENT_LENGTH_MISMATCH 【发布时间】:2014-04-16 00:26:56 【问题描述】:

基本上我的问题是页面加载正常并且看起来正常。大约 30 秒后,它突然消失。

这是错误前的服务器日志(加载页面时):

Started GET "/" for 127.0.0.1 at 2014-03-11 23:53:30 -0400
Processing by PagesController#home as html
  Rendered pages/home.html.erb within layouts/application (0.7ms)
  Rendered layouts/_head.erb (3.3ms)
  Rendered layouts/_header.erb (0.9ms)
  Rendered layouts/_footer.erb (0.2ms)
Completed 200 OK in 11ms (Views: 10.5ms)

Started GET "/assets/favicon.ico" for 127.0.0.1 at 2014-03-11 23:53:30 -0400

Started GET "/assets/application.css?body=1" for 127.0.0.1 at 2014-03-11 23:53:30 -0400

Started GET "/assets/home.css?body=1" for 127.0.0.1 at 2014-03-11 23:53:30 -0400

Started GET "/assets/taylor.jpg" for 127.0.0.1 at 2014-03-11 23:53:30 -0400

Started GET "/assets/wide.jpg" for 127.0.0.1 at 2014-03-11 23:53:30 -0400

Started GET "/assets/enchanted_large.png" for 127.0.0.1 at 2014-03-11 23:53:30 -0400

Started GET "/assets/sad.jpg" for 127.0.0.1 at 2014-03-11 23:53:30 -0400

然后图像突然消失并出现客户端错误(在 Chrome 的开发控制台中看到):

Failed to load resource: net::ERR_CONTENT_LENGTH_MISMATCH
  http://localhost:3000/assets/taylor.jpg

日志中唯一的补充是:

Started GET "/assets/favicon.ico" for 127.0.0.1 at 2014-03-11 23:54:00 -0400

在它看起来不错的 30 秒内,chrome 在 favicon 所在的位置有一个加载符号

此时我的 html 相当简单:

<div class="home-images">
  <%= image_tag "taylor.jpg", class: "home-image" %>
  <%= image_tag "wide.jpg", class: "home-image hide" %>
  <%= image_tag "sad.jpg", class: "home-image hide" %>
</div>

我什至完全取出了我的 javascript。我也尝试自行删除涡轮链接。它只发生在一张图片上。我也不知道为什么……

当我切换 html 时,出现错误的是同一张图片(taylor):

<div class="home-images">
  <%= image_tag "wide.jpg", class: "home-image" %>
  <%= image_tag "taylor.jpg", class: "home-image hide" %>
  <%= image_tag "sad.jpg", class: "home-image hide" %>
</div>

我所有的图片都位于我的 app/assets/images 文件夹中

我的标题是这样的:

<head>
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Enchanting Events and Design</title>
  <%= favicon_link_tag       "favicon.ico" %>
  <%= stylesheet_link_tag  "application" %>
  <%= javascript_include_tag  "application" %>
  <%= csrf_meta_tags %>
</head>

【问题讨论】:

这个localhost:3000/assets/taylor.jpg的大小是多少? 在一个可能但可能不是无关的注释中:查找器当前没有响应(当我进入包含文件的文件夹时中断)。我会尽快回复你 @Raghu 是 350 x 290。Finder 在重新启动我的计算机后再次工作,但仍然出现同样的错误 您在本地运行哪个服务器?网砖?如果是,那么尝试使用瘦或杂种,看看你是否得到不同的结果 我其实在用瘦 【参考方案1】:

尝试“rake assets:clean”并重建您的资产(如果需要)。我是靠这个魔法开始工作的。

【讨论】:

【参考方案2】:

这可能是 nginx 另一个问题的症状。请看这篇文章:

Rails image disappears with error: Failed to load resource: net::ERR_CONTENT_LENGTH_MISMATCH

我看到和你一样的问题,原来是底层缓存目录的 nginx 权限问题,这也导致问题有些间歇性。

【讨论】:

【参考方案3】:

我在使用mv 命令替换图像时遇到了这个问题。这使时间戳保持不变,因此它破坏了资产缓存。受影响文件的简单touch 修复了它。

【讨论】:

这可能是发生了什么。它最近再次发生在我身上,并从 src 重新下载图像修复了它。 OH MY LAWD 我努力寻找这个非常简单的答案,非常感谢【参考方案4】:

在我编辑图像大小时遇到​​了同样的问题。

以上解决方案都不适合我,但 rake tmp:clear 可以!

【讨论】:

可以确认...我调整了图像大小并遇到了这个问题;) 只是补充一下,当您尝试使用具有相同名称的不同图像时,有时可能会发生这种情况。 rake tmp:clear 确实为我工作,谢谢! 这是完美的(尤其是考虑到 OP 的句柄)

以上是关于Rails 图像消失并出现错误:无法加载资源:net::ERR_CONTENT_LENGTH_MISMATCH的主要内容,如果未能解决你的问题,请参考以下文章

Rails 控制台:无法自动加载常量

Rails 图像资源未加载

Rails 5.2.0 中的“无法自动加载常量”错误

在控制台中出现错误:无法加载资源:net::ERR_CONNECTION_RESET

尝试裁剪资源文件夹中的图像时发生无法加载照片错误

我的应用程序无法编译,当它引发错误时,我的所有资源文件都消失了