【发布时间】:2020-03-31 09:16:15
【问题描述】:
这是我的component.html:
<div class="image-container">
{{cat.picture_path}}
<img src="assets/{{cat.picture_path}}">
</div>
我放了 {{cat.picture_path}} 只是为了让我知道picture_path 是正确的并且img 标记指向该图像。
现在我通过表单将该图像保存到我的后端并保存到我的assets 文件夹中。
当我点击提交时,图片被保存到正确的位置,但是当我打开一个显示该图片的页面时,我得到:
image39.png:1 GET
http://localhost:4200/assets/image39.png 404 (Not
Found)
Image (async)...
图像存在于该文件夹中并且路径正确。
让我感到困惑的是,这个警告会在 10 分钟左右后消失,并且显示图片时没有任何警告。
我尝试在添加照片后重新打开 Angular 项目,但这并没有改变任何东西。图片只会在一段时间后出现。
我是否必须以某种方式重置路径或刷新目录以便 Angular 可以查找图像?
这是怎么回事?
更新 1:
即使我去 If http://localhost:4200/assets/image39.png 我得到:
core.js:5873 ERROR Error: Uncaught (in promise): Error: Cannot match any routes. URL Segment: 'assets/image39.png'
Error: Cannot match any routes. URL Segment: 'assets/image39.png'
即使图像在文件夹中。如果我尝试使用其他图像,它会按预期工作。
更新 2:
使用ng serve 重新打开 Angular 项目解决了这个问题,但仍然不明白为什么
更新 3:
在我的tsconfig.json 文件中更改"outDir": "./dist", 并将我的img 标记更改为img src="/assets/images/{{cat.picture_path}}" 后,它现在在我使用启用--liveReload=true 的IDE 重新加载应用程序后不久显示图像。从浏览器刷新页面没有任何作用。有没有办法在上传图片时立即重新加载这个组件?
【问题讨论】:
-
可以通过 stackblitz 重新创建它吗?另外你是怎么做到的:但是当我打开一个显示该图像的页面时?
-
@NicholasK 我现在就试试。 “但是当我打开一个显示该图像的页面时”我的意思是当我导航到我的应用程序上应该显示该图像的 component.html 页面时
-
@NicholasK 我无法通过 stackblitz 重新创建它。似乎我的 Angular 项目由于某种原因没有看到文件夹中的更改
-
你能分享一下你是如何再次加载这张图片的吗?
-
@NicholasK 我用额外的错误日志更新了问题
标签: angular