我托管了我的JavaEE网站ImgEcho,其中我提供了用户可以上传图像的功能。当我在localhost上实现这个网站时,我直接给出了上传图像存储的路径“C:/ProjectName/images"
但是,我无法弄清楚托管服务器上的路径应该是什么。
P.S:我应该向我的托管服务器的客户支持提出这个问题,但他们有无用的服务。
提前谢谢。
答案 0 :(得分:3)
根据您的需要,在这种情况下您可以做很多不同的事情。
如果您想拥有一个共享图像文件夹,在其中存储所有用户的图像,我建议您在项目根目录中创建images
目录。
否则,如果要创建每个用户的图像存储,则可以执行以下操作:
-Project Root
|-User 1
|-images
|-account
|-User 2
|-images
|-account
这是一个包含单独文件夹中每个用户的结构,子文件夹images
包含该用户的图像,account
,
存储该用户的帐户详细信息和其他信息。这通常更像是一种设置,虽然更先进,但会长期受益。
对于更具扩展性的方法,也许将来如果您愿意扩展您的服务,我建议您使用大型外部网络硬盘驱动器或NAS(网络附加存储),然后将其用于所有图像存储。这将是非常先进的,并且可能是昂贵的,这就是为什么它将是一个长期的决定,由于可扩展性,未来很可能会使您的公司受益。
总的来说,我通常使用images
目录,无论文件夹结构的其余部分如何,因为它是对您当前情况最正确的决策。
编辑:为了使此设置更安全,我建议将images
目录放入自定义的无法识别的存档文件中,然后在需要使用时转换数据,在进行更改时再次返回。这可以确保没有偷偷摸摸的用户打开您的图像,因为它存储在普通的文件夹布局中。
答案 1 :(得分:0)
在根目录中创建一个名为" images"的文件夹。并将它们保存在那里。你必须调整其余的参考文献。
答案 2 :(得分:0)
您可以通过提供相对路径将图像存储在项目本身的路径中。
答案 3 :(得分:0)
您应该使用相对路径将其存储在站点中。您可能需要/images/uploads
之类的项目。路径应位于Web文档的根目录中。这样做的原因是,如果你移动项目,事情可能会破裂。使用相对路径可确保您可以移动项目。此外,如果这是共享托管,您不必担心您的文件与其他人混在一起。
答案 4 :(得分:0)
我所做的是在jsp中运行此代码:
java.io.File f = new java.io.File ("./");
try{
out.println(" f curr " + f.getCanonicalPath());
}catch(Exception e){
out.println(" Err file :" + e + ", " + f);
}
这告诉我我的网络应用程序的当前文件夹的路径,在某些云上已经看到其他人的/ xyz / tomcat / temp更长的路径。
答案 5 :(得分:0)
路径将沿/ usr / public_html / images行。谁是您的主持人?
答案 6 :(得分:0)
创建两个目录,一个用于您的站点,另一个用于您的存储目录。
优点:
每次用户发送服务器请求以访问其数据时,它都会搜索目录中的文件或文件夹。
通过chmod我们可以给他们两个不同的访问权限。
如果存储文件夹弄乱了网站,则会出现长页面加载的风险。
答案 7 :(得分:0)
由于你有一个JavaEE网站,为什么不只是让一个控制器方法负责下载文件,并将上传功能的返回值作为下载方法的路径?这样,您可以将图像存储在您的网站具有写/读访问权限的任何位置。我可以根据要求提供更多实施细节。