从不同分区加载文件

从不同分区加载文件

我一直在用 socket.io 和 nodejs 构建一个带有文件流的聊天引擎。一切都运行良好,消息、通知、聊天室甚至文件流,但假设我们的服务器只有 1TB(250gb HDDx4),我的应用程序安装在C:/,我的朋友可以使用 nodejs 在 App 目录中上传文件,在聊天框中加载该文件的路径类似于<img src="../.././private/filename.png">。我不知道这是否是最好的方法,但它确实有效。现在假设我们想要切换上传分区F:/,我怎样才能从那里加载聊天框中的文件?我不能输入绝对 URL,例如,<img src="F:/private/filename.png">因为它会在分区中的客户端/用户计算机中搜索F:/,而不是在分区中的服务器中搜索F:/。有人可以给我推荐一些方法/解决方案来做到这一点吗?

答案1

我找到了两种解决该问题的方法。

  1. RAID 方法 - 可以在一个地方镜像分区。
  2. 存储服务器 - 仅使用给定路径的静态文件,没有任何路由。

Structure: C:/private/stack/files D:/private/over/files F:/private/flow/files

Server:
app.use(express.static(path.join("C:/private")));
app.use(express.static(path.join("D:/private")));
app.use(express.static(path.join("F:/private")));

Access: http://localhost:2800/stack/files/f53f95f15306b5e9.jpg
Access: http://localhost:2800/over/files/8906b5e9597572839.png
Access: http://localhost:2800/flow/files/177fffa8b35508633.pdf

相关内容