我們這裡討論的是絕對路徑的修改。如果你需要該相對路徑只需要改<param-value>UserFiles/</param-value> 裡的值就可以了
fckeditor對jsp支援一般般,要配置一大堆,網上都是類似的文章,就不複述了,如何修改上傳檔案的路徑,卻一直沒有解決方案,找了半天,最後只有自己哼哧哼哧的改
由於fckeditor預設的上傳路徑是自己工程環境下,/UserFiles,是在web.xml裡配置的
<init-param> <param-name>baseDir</param-name> <param-value>UserFiles/</param-value> *這裡少了一個 / </init-param>
這裡沒法改成絕對路徑,所以只有到servlet裡想辦法,找到類ConnectorServlet
init方法裡的參數擷取不要管,主要是在doGet()裡面
String currentPath=baseDir+typeStr+currentFolderStr;
String currentDirPath = getServletContext().getRealPath(currentPath);
這個是原來的寫法 取的就是當前項目webcontent下的/UserFiles/
這裡改成
String currentPath=baseDir+typeStr+currentFolderStr;
currentPath=currentPath.replace('//','/');
String currentDirPath="你需要存放檔案的絕對路徑"+currentPath;
如 String currentDirPath="d:/dweb_box/"+currentPath; *這裡多了一個 /
下面還要改 原來的寫法如下
Node root=CreateCommonXml(document,commandStr,typeStr,currentFolderStr,request.getContextPath()+currentPath);
這裡改成
Node root=CreateCommonXml(document,commandStr,typeStr,currentFolderStr,"你需要存放檔案的tomcat應用的相對路徑"+currentPath);
如 Node root=CreateCommonXml(document,commandStr,typeStr,currentFolderStr,"/dweb_box/"+currentPath);
* 和tomc應用的path="/dweb_box" 對應
doPost()方法裡currentPath和currentDirPath改法與doGet一致
servlet裡只需要改這麼多就可以了
注意哈 如果你上傳檔案後還是看不到 很可能是你的存放檔案的路徑沒有配置成tomcat應用
如上面的例子
<Context displayName="dweb_box" docBase="d:/dweb_box" path="/dweb_box">
</Context>
如有疑問和遺漏請留言給我