DQL 查询分析页面如何将文件保存到非项目路径?

 

需求描述


DQL 查询分析页面中保存文件时,默认可以保存到本地(浏览器默认下载路径)或者项目路径下:
imagepng

客户有一个需求:
现在默认机制是保存到 web 项目内的目录, 这样的话 web 项目重新打包后文件就都丢失了,所以希望能保存到 web 项目外的目录。

解决方法


修改 web.xml 如下内容,配置文件存放主目录:

  <servlet>
    <servlet-name>dataSphereServlet</servlet-name>
    <servlet-class>com.raqsoft.guide.web.DataSphereServlet</servlet-class>
	<init-param>
	    <param-name>root-path</param-name>
	    <param-value>F:/files/</param-value>//文件存放主目录
	</init-param>
    <load-on-startup>2</load-on-startup>
  </servlet>

注意:此功能需要使用 2021 年 1 月 23 号之后的 guide.jar

另外,在 qyx.jsp 中有这样一个标签属性:

guideConf.qyxFolderOnServer = "qyx/";

这个属性是指 web.xml 里主目录下的子目录路径,举个例子:

imagepng
qyx.jsp 页面保存文件时,配置的保存路径是 test, 文件名称是 ceshi,那么按照上面 web.xml 和 qyx.jsp 的路径配置,此文件的保存路径是:F:/files/qyx/test/ceshi.qyx

也就是说,web.xml 里配置的路径 +jsp 里配置的路径 + 保存对话框里的路径共同组成了文件保存的绝对路径地址。