如何在数据库中存储照片路径

发布于 2024-11-14 07:24:36 字数 298 浏览 2 评论 0原文

我正在做一些在数据库中存储成员照片的工作,我想知道是否应该像这样存储照片路径:

http://www.domain.com/path/to/photo

或像这样

/path/to/photo

具体来说,我担心我现在有 1 台服务器,但随着时间的推移,我将会有不止一个,并且接下来我可能会有一个 CDN 提供服务照片。长期存储路径的最佳实践方法是什么?

谢谢! 亚历克斯

I am doing some work with storing members photos in the database and I am wondering whether I should store photo paths like this:

http://www.domain.com/path/to/photo

or like this

/path/to/photo

Specifically, I am concerned with the fact that I now have 1 server, but over time, I will have more than one, and down the line I might have a CDN serve up the photos. What is the good-practice way of storing the paths for the long term?

Thanks!
Alex

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

指尖微凉心微凉 2024-11-21 07:24:36

这确实取决于个人喜好。

如果简洁的路径很重要,并且无法在列上完成索引和搜索,则存储整个内容(尽管请注意您的第一个表单仍然包含假设 - 如果您还通过 HTTPS 服务器照片怎么办 - 每个文件都有两个路径)。

如果数据大小和规范化很重要,则仅存储 URL 中变化较大的部分并假定一致的部分。如果随着时间的推移发生变化,请更改表并进行一次性更新以附加现有的假定 URL。

最后,物理存储和逻辑表示可以是两个不同的东西 - 使用 MVC 设计,您可以拥有一个控制器,将请求的 /path/to/myimage.jpg 转换为 cdn.example.com/ myassets/0123/123122.jpg

This really comes down to personal preference.

If concise paths are important and indexing and searching won't be completed on the column then store the whole thing (although note your first form still contains assumptions - what if you also server the photos through HTTPS - they each file has two paths).

If data size and normalization is important store just the largely changing part of the URL and assume the consistent part. If that changes over time, ALTER the table and make a one time UPDATE to append the existing assumed URL.

Finally physical storage and logical presentation can be two different things - using an MVC design you could have a controller that turns a requested /path/to/myimage.jpg into cdn.example.com/myassets/0123/123122.jpg

囚你心 2024-11-21 07:24:36

我不会包含服务器名称。服务器名称将来可能会更改。

我会将图像存储在数据库中,而不是作为本地文件。当您有多个服务器时会发生什么,您会在两台服务器上复制图像文件吗?

I would not include the server name. The server name can change in the future.

I would store the image in the database and not as a local file. What happens when you multiple servers, would you be duplicating the image files on both servers?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文