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

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

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

  • 写回答

2条回答 默认 最新

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

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

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

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

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

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

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

报告相同问题?

问题事件

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

悬赏问题

  • ¥15 网络科学导论,网络控制
  • ¥100 安卓tv程序连接SQLSERVER2008问题
  • ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd