流浪的菜袅 2023-03-02 15:29 采纳率: 79.5%
浏览 20
已结题

nodejs接收上传的图片存放问题

大锅们好
是这样的,项目开发中,涉及到文件资源上传,nodejs接收到资源后,如果将这些资源就存放在项目目录下的某个文件,这样的话,在项目实际上线后,会不会在使用上会有什么影响?或者当项目更新部署后,资源文件会不会受什么影响?
我目前是将上传的资源放到nodejs项目目录下的upload文件,然后将资源路径给到数据库,前端读取。
如果这种存放地址、方式有问题的话,用什么方式更好呢?可以做到不至于资源稍微过多就影响到项目运行速度之类的?
求解,谢谢大锅们

  • 写回答

2条回答 默认 最新

  • 冯! 2023-03-02 15:33
    关注

    将上传的资源存放在项目目录下的某个文件夹中,然后将资源路径保存在数据库中,这是一种常见的做法,但是会有以下问题:

    项目更新部署后,资源文件会丢失。如果您在项目更新时删除了旧文件夹,那么上传的资源文件也会被删除,导致丢失。解决方案是在更新部署前备份好上传的资源文件。

    资源文件较多时,可能会影响项目的运行速度。如果您的资源文件数量很多,或者文件较大,可能会导致在读取、上传或删除资源时会有一定的性能瓶颈。解决方案是使用分布式存储系统(如对象存储)来存储资源文件,以降低对项目性能的影响。

    项目实际上线后,资源文件存放的路径可能需要修改。如果您在实际上线时将项目目录放到不同的位置,那么资源文件的路径也会随之改变,导致前端读取不到资源文件。解决方案是将资源文件的路径保存为相对路径,以保证在项目目录移动时不会受到影响。

    综上所述,为了解决以上问题,建议将上传的资源文件存储在分布式存储系统中,例如使用云存储或对象存储服务,这样可以降低对项目性能的影响,并且可以实现自动备份和数据冗余,保证数据安全。同时,在前端读取资源时,可以使用CDN加速服务,提高资源加载速度,优化用户体验。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月10日
  • 已采纳回答 3月2日
  • 创建了问题 3月2日

悬赏问题

  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改