請求需要傳入文件夾路徑
這是后台代碼
import java.io.File;
import java.io.IOException;
import java.net.MalformedURLException;
import java.util.ArrayList;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
/**
* 文件預覽輔助類
* @author zhy
*
*/
@Controller
public class FileBrowseUtil {
/**
* 通過ajax請求獲取傳入的文件路徑里邊的文件fileList數組
* @param req
* @param resp
* @param params 文件夾路徑參數
* @return
* @throws ServletException
* @throws IOException
* @throws MalformedURLException
*/
@RequestMapping("/getFileList")
@ResponseBody
protected ArrayList<String> CalculateGeoServlet(HttpServletRequest req,
HttpServletResponse resp,String params) throws ServletException, IOException,
MalformedURLException {
ArrayList<String> fileList=new ArrayList<String>();
String dir = req.getSession().getServletContext().getRealPath(params);
fileList=getFiles(dir);
return fileList;
}
/**
* 通過遞歸得到某一路徑下所有的目錄及其文件
* @param filePath 文件路徑
* @return
*/
public ArrayList<String> getFiles(String filePath) {
ArrayList<String> fileList = new ArrayList<String>();
File root = new File(filePath);
File[] files = root.listFiles();
for (File file : files) {
if (file.isDirectory()) {
/*
* 遞歸調用
*/
getFiles(file.getAbsolutePath());
fileList.add(file.getAbsolutePath());
} else {
String picPathStr = file.getAbsolutePath();
// String picPathStr = file.getAbsolutePath().replaceAll("\\\\","//");
fileList.add(getFileNameWithSuffix(picPathStr));
}
}
/*for(String str:fileList){
System.out.println(str);
}*/
return fileList;
}
/**
* 保留文件名及后綴
*/
public String getFileNameWithSuffix(String pathandname) {
int start = pathandname.lastIndexOf("\\");
if (start != -1 ) {
return pathandname.substring(start + 1);
} else {
return null;
}
}
/**
* 僅保留文件名不保留后綴
*/
public String getFileName(String pathandname) {
int start = pathandname.lastIndexOf("\\");
int end = pathandname.lastIndexOf(".");
if (start != -1 && end != -1) {
return pathandname.substring(start + 1, end);
} else {
return null;
}
}
}