java - 当我希望用户在我的网站上上传文件时,我的路径应该是什么?

标签 java path web-hosting

我已经托管了我的 JavaEE 网站 ImgEcho我在其中提供了用户可以上传图像的功能。当我在本地主机上实现这个网站时,我直接给出了上传图像的存储路径“C:/ProjectName/images” 但是,我无法弄清楚我在托管服务器上的路径应该是什么。 P.S:我应该向我的托管服务器的客户支持询问这个问题,但他们的服务很糟糕。 提前致谢。

最佳答案

根据您的需要,在这种情况下您可以做很多不同的事情。

如果您想要一个共享图像文件夹来存储所有用户的图像,那么我建议您在项目根目录中创建一个 images 目录。

否则,如果您想创建每个用户的图像存储,则可以执行以下操作:

-Project Root
    |-User 1
        |-images
        |-account
    |-User 2
        |-images
        |-account

此结构将每个用户包含在一个单独的文件夹中,其中包含子文件夹 images(其中包含该用户的图像)和 account( 存储该用户的帐户详细信息和其他信息。这通常是一种更加结构化的设置,虽然更高级,但会给您长期带来好处。

对于更具可扩展性的方法,也许将来如果您愿意扩展您的服务,我建议您购买一个大型外部网络硬盘驱动器或 NAS(网络附加存储),然后将其用于所有业务图像存储。这将是非常先进的,并且可能是昂贵的,这就是为什么这将是一个长期的决定,由于可扩展性,这很可能在未来使您的公司受益。

总的来说,我通常会使用 images 目录,而不管文件夹结构的其余部分如何,因为对于您当前的情况来说,这是逻辑上最正确的决定。

编辑:为了使此设置更安全,我建议将 images 目录放入自定义的、无法识别的存档文件中,然后在需要使用时转换数据并在发生更改时再次返回。这可以确保没有偷偷摸摸的用户打开您的图像,因为它存储在普通的文件夹布局中。

关于java - 当我希望用户在我的网站上上传文件时,我的路径应该是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29420424/

相关文章:

windows - 我在哪里可以存储批处理文件以便它在我的计算机上的任何地方运行?

java - 如果可以对源代码进行逆向工程,那么在 Android(或 Java)中加密任何内容有什么意义?

java - 从现有源文件创建 JCodeModel

python - 如何计算沿插值路径的均匀距离(Python2.7)?

java - 如何在子资源 @Path 没有前导斜杠的情况下创建 JAX-RS 服务

ios ->= 400 错误代码与 apple-app-site-association json 文件

CSS 在本地主机上工作正常但在服务器上不工作

subdomain - 一个 CNAME 文件用于 2 个不同的域。 gh-pages X namecheap

java - 在父类(super class)中定义对私有(private)子类成员的相同处理

java - 当未在java swing表单中选择日期时,显示mysql数据库表中的所有记录