【问题标题】:Angular, image not found (GET 404) but it shows image after running ngbuildAngular,找不到图像(GET 404),但它在运行 ng build 后显示图像
【发布时间】:2019-11-10 22:04:28
【问题描述】:

问题是我每次上传图片后都必须运行ngbuild,否则就看不到图片了

我试图将图像存储在/src/assets folder以外的服务器上的某个位置

server\images/image.jpg

现在图像已存储,但我在浏览器中看不到它们

静态路径

app.use(express.static(path.join(__dirname,'dist/my-app')));

【问题讨论】:

    标签: node.js angular express multer


    【解决方案1】:

    由于您使用静态路径作为

    app.use(express.static(path.join(__dirname,'dist/my-app')));
    

    您的图像需要位于dist/my-app/images 文件夹而不是src/images 才能在不重新启动服务器的情况下访问它。

    您可能需要将图像存储在dist/my-app/images 文件夹中的逻辑,而不是生产环境中的src/images

    ng build后能正常工作是因为它构建了需要的文件并复制了dist/my-app文件夹中的所有图像,所以在做ng build之后,新图像成功复制到dist文件夹,因此它可用于您的应用程序。

    【讨论】:

    • 如何上传 src/images 文件夹中的图片?
    • 我已经通过 src/assets 文件夹中的 multer 上传了图片
    • 这就是我的意思,在您的后端代码中,上传到 dist/my-app/images 文件夹而不是生产构建中的 src/assets/images 文件夹
    • 但角度仅显示存储在 src/assets 文件夹中的图像
    • 当您构建 Angular 应用程序时,所有内容都会复制到 dist/my-app 文件夹,并且图像文件夹的位置也会从 src/assets 更改为 dist/my-app。看看你的 dist 文件夹
    猜你喜欢
    • 2017-12-14
    • 2017-08-27
    • 1970-01-01
    • 2017-10-15
    • 1970-01-01
    • 1970-01-01
    • 2016-12-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多