这篇文章主要介绍“jspXCMS怎么将上传文件放到程序之外的目录”,在日常操作中,相信很多人在jspXCMS怎么将上传文件放到程序之外的目录问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”jspXCMS怎么将上传文件放到程序之外的目录”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
由于程序更新或升级的时候,需要保留上传的文件(通常是/uploads文件夹)。有时候会希望将上传的文件保存到程序之外的目录,以免更新程序的时候被覆盖。
实现这个功能需要解决两个问题,一是放到程序之外的/uploads文件夹要能够被浏览器访问;二是上传时,文件要保存到指定文件夹。
修改tomcat配置
修改tomcat的server.xml里的Host、Context配置,可以实现程序之外的/uploads文件夹可访问。
<Host ...> <Context path="/uploads" docBase="D:/other/dir/uploads" /></Host>
修改weblogic配置(暂不适用)
本方法不支持图片加参数,如/uploads/abc.jpg可以访问,/uploads/abc.jpg?d=123则不能访问。这有可能是weblogic的bug,以后版本可能会修复,故将本方法也保留在此。
修改/WEB-INF/weblogic.xml文件
<?xml version="1.0" encoding="UTF-8"?><weblogic-web-app xmlns="http://xmlns.oracle.com/weblogic/weblogic-web-app"> ... <virtual-directory-mapping> <local-path>/home/weblogic/Oracle/Middleware/Oracle_Home/user_projects/domains/base_domain/webshare/jspxcms</local-path> <url-pattern>/uploads/*</url-pattern> </virtual-directory-mapping> ...</weblogic-web-app>
这里要注意,访问/uploads/abc.jpg是访问.../webshare/jspxcms/uploads/abc.jpg,而不是.../webshare/jspxcms/abc.jpg。所以配置的时候要额外注意。
WebLogic部署uploads应用
上述使用virtual-directory的方式有缺陷,不可用。因此需要专门部署一个uploads应用。
uploads应用很简单,部署在/home/weblogic/Oracle/Middleware/Oracle_Home/user_projects/domains/base_domain/webapps/uploads。
里面只需要一个/WEB-INF/weblogic.xml,内容如下:
<?xml version="1.0" encoding="UTF-8"?><weblogic-web-app xmlns="http://xmlns.oracle.com/weblogic/weblogic-web-app"> <context-root>/uploads</context-root></weblogic-web-app>
修改附件发布点
商业版的发布点功能可以实现将上传文件保存至指定文件夹。
点击后台导航系统管理 - 发布点,修改附件默认发布点。
将保存路径修改为指定文件夹,如:file:D:/other/dir/uploads(linux系统不需要盘符,如file:/mydata/dir/uploads)。注意file:前缀,后面接绝对路径,路径分割符号用/。如果不带这个前缀,则以程序根目录作为起始路径。
到此,关于“jspXCMS怎么将上传文件放到程序之外的目录”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!