Change the upload directory path for an ice:inputFile component

允我心安 提交于 2019-12-12 03:15:11

问题


I've noticed that the ice:inputFile component will only upload files to the directory $TOMCAT_HOME/webapps/MyAppName/upload/. I want this directory to be dependent on the user initials for the current user (i.e. user with initials abc wants to upload a file, the file goes to $TOMCAT_HOME/webapps/MyAppName/upload/abc/). How can I dynamically set this attribute?


回答1:


As indicated in the reference guide http://www.icefaces.org/docs/v1_8_2/htmlguide/devguide/references5.html

web.xml file:

To specify the directory location where uploaded files are stored, the following parameter is used:

<param-name>com.icesoft.faces.uploadDirectory</param-name>

<param-value>youruploaddirectory</param-value>

This parameter works in conjunction with the ice:inputFile component attribute "uniqueFolder" with four possible combinations as illustrated below:

                           **com.icesoft.faces.uploadDirectory**

                                   Set                                 Not Set

  **uniqueFolder**

   True           /app-context/uploadDirectory/sessionid/     /app-context/sessionid/

   False          /app-context/uploadDirectory/           /app-context/         

Note: The default upload directory specified via the configuration parameters above can be overridden on a per-instance basis via the uploadDirectory and uploadDirectoryAbsolute attributes on the ice:inputFile component.

Hope this helps!




回答2:


Need to set the property uploadDirectory on the component, as such:

<ice:inputFile file="#{Bean.file}" uploadDirectory="./upload/#{Bean.userInitials}/"/>

This property is (currently) not mentioned in the JavaDoc for this component on the ICEFaces site.



来源:https://stackoverflow.com/questions/1447029/change-the-upload-directory-path-for-an-iceinputfile-component

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!