Javascript 上传图像不';刷新后不更改,但在文本编辑器中保存后更改
我的Angular4应用程序有一个问题,我制作了整个上传文件系统,它工作正常,但当我上传图像并刷新页面时,图像不会改变 这是img标签Javascript 上传图像不';刷新后不更改,但在文本编辑器中保存后更改,javascript,angular,Javascript,Angular,我的Angular4应用程序有一个问题,我制作了整个上传文件系统,它工作正常,但当我上传图像并刷新页面时,图像不会改变 这是img标签 <img class="img-thumbnail img-responsive" src="../../../assets/img/profile/{{user.img}}" width="300px" height="300px"> 我遇到了同样的问题,那就是缓存问题。我在Ror&angular网站上进行了测试。 默认情况下,图像数据缓存存在
<img class="img-thumbnail img-responsive" src="../../../assets/img/profile/{{user.img}}" width="300px" height="300px">
我遇到了同样的问题,那就是缓存问题。我在Ror&angular网站上进行了测试。 默认情况下,图像数据缓存存在2天。
您是否曾经在文件资源管理器(Finder)中更改过图像?。
我已经删除了缓存,效果很好。
如果你不想删除缓存,你可以在匿名窗口中完成代码并在2天后测试最终操作。我遇到了同样的问题,这是缓存问题。我在Ror&angular网站上测试了它。 默认情况下,图像数据缓存存在2天。
您是否曾经在文件资源管理器(Finder)中更改过图像?。
我已经删除了缓存,效果很好。
如果您不想删除缓存,您可以在匿名窗口中完成代码,并在2天后测试最终操作。如果您不想将
ng serve
用作生产版本,它使用一个只用于开发的网页包开发服务器。您想使用ng build
并通过ugh nginx、apache或其他一些服务器软件。下面是一个关于这方面的简短论坛
webpack dev服务器在本地虚拟内存中创建生成。因此,当您更新资产文件夹时,必须重新启动ng serve,以便webpack dev服务器具有更新的资产
这在使用
ng build
时不会出现问题,因为应用程序和资产文件夹都将在同一台服务器上提供服务。如果不想将ng service
用作生产版本,它将使用一个只用于开发的webpack dev服务器。您希望使用ng build
并提供index.html文件通过nginx、apache或其他一些服务器软件
webpack dev服务器在本地虚拟内存中创建生成。因此,当您更新资产文件夹时,必须重新启动ng serve,以便webpack dev服务器具有更新的资产
这在使用
ng build
时不会出现问题,因为应用程序和资产文件夹都将在同一台服务器上提供服务。它在服务器上是否更改?user.img是否随新上载而更改?如果不更改,您可能正在点击浏览器缓存=每次上载都需要唯一的图像url假设您的服务器可以处理它,请添加一个随机的q将查询字符串添加到图像URL,以便浏览器不会从其URL获取图像cache@JaromandaX是的。@insider我只是console.logged user.img,我有一个空白页!我必须在这里找到一个新的错误。.它在服务器上是否更改?user.img是否随新上载而更改?如果不更改,您可能正在访问浏览器缓存=您需要每个文件的唯一图像url上传假设您的服务器可以处理,向图像URL添加一个随机查询字符串,这样浏览器就不会从其URL获取图像cache@JaromandaX是的。@insider我只是console.logged user.img,我有一个空白页!我必须在这里找到一个新错误。。当然,但在生产过程中,客户端可能不会处于匿名状态。我需要一个稳定的解决方案,现在需要花费太多的时间。关于缓存,这可能是问题所在,但可能不是。我在想,在ng服务之前,所有Angle文件可能都是静态的,但可能与缓存有关。我不知道缓存是如何与anglar2+一起工作的,甚至文档也没有提到它。@AzoulayJason缓存是由浏览器而不是angular处理的。如果你想摆脱它,你几乎没有什么选择:#1为图像请求设置正确的标题(需要在服务器上完成)。#2为每次上载设置唯一的url,以便浏览器仍有缓存(=为未更改的图像节省带宽)我按照您的指示进行了操作。图片名称处确实有一个cookie,因此我从请求标题中删除了cookie,然后我为每次上载设置了唯一的id。结果是没有显示图片,并且我得到一个错误404找不到文件。我猜angular在我点击save bu之前甚至不知道图片存在tton在我的文本编辑器中。我想我每次上传文件时都必须重新启动服务器,我该怎么做?这是一个好的过程吗?根据我的经验,如果我不在文件资源管理器中更改静态文件内容,所有事情都很好,先读再写。当然,但在生产过程中,客户端可能不会是我n隐姓埋名。我需要一个稳定的解决方案来继续,现在需要花费太多的时间。关于缓存,这可能是问题所在,但可能不是。我在想,在ng服务之前,所有角度文件可能都是静态的,但可能与缓存有关。我不知道缓存如何与anglar2+一起工作,即使是doc也不知道“不要谈论它。@AzoulayJason缓存是由浏览器处理的,而不是由angular处理的。如果您想删除它,您几乎没有选择:#1为图像请求设置正确的标题(需要在服务器上完成)。#2为每次上载设置唯一的url,以便浏览器仍有缓存(=为未更改的图像节省带宽)我按照您的指示进行了操作。图片名称处确实有一个cookie,因此我从请求标题中删除了cookie,然后我为每次上载设置了唯一的id。结果是没有显示图片,并且我得到一个错误404找不到文件。我猜angular在我点击save bu之前甚至不知道图片存在tton在我的文本编辑器中。我想我每次上传文件时都必须重新启动服务器,我该怎么做?这是一个好的过程吗?根据我的经验,你不需要这样做,如果我不在文件浏览器中更改静态文件内容,所有的事情都很好,读写然后读。实际上这不是服务器兼容性问题,更像是一个编译问题