我只是想获取路径而已:
怎么获取?因为我想把路径写到数据库中。部分代码如下:
/** * 导入文件 * @return */// @RequestMapping(value="/import", method=RequestMethod.POST)// public Model importFileActoin(@RequestParam Map<String, String> reqs){// Model model = new Model();// return model;// }// @RequestMapping(value = "/import", method = RequestMethod.POST)// public Model addStrategyAction(@RequestParam Map<String, Object> reqs,HttpServletRequest request) {// Model model = new Model();// String filename = (String) reqs.get("filename");// String fileType = (String) reqs.get("fileType");// //判断文件名称是否为空// if(null == filename || "".equals(filename) || 0==filename.length()){// setModel(model,"/pms/file/file_import_1","/pms/file/file_list","view.pms.pubk.form.enterErr");// return model;// }// // MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;// List<MultipartFile> macFileList = multipartRequest.getFiles("CERT");// if (macFileList.size() <0)// {// setModel(model,"/pms/file/file_import_1","/pms/file/file_list","error.pms.pubk.form.fileNull");// return model; // }//// for (int i = 0; i < macFileList.size(); i++) {//// macFileList.get(i).getName();//// System.out.println(macFileList.get(i).getSize());//// }
SmartUpload su=new SmartUpload();
//上传初始化
su.initialize(pageContext);
//设定上传限度
//1.限定每个上传文件的最大长度
//su.setMaxFileSize(100000);
//2.限制总上传数据的长度。
//su.setTotalMaxFileSize(20000);
//3.设定允许上传的文件(通过扩展名限制),仅允许doc,txt文件。
//su.setAllowFilesList("doc,text");
//4.设定禁止上传的文件(通过扩展名限制),禁止上传带有exe,bat,jsp,htm,html扩展名的文件或没有扩展名的文件
//su.setDeniedDilesList("exe,bat,jsp,html,htm,,");
//上传文件
su.upload();
//将上传文件全部保存到指定目录
int count=su.save("/upload");
out.println(count+"个上传文件成功!<br>");
//利用Request对象获取参数之值
out.println("test="+su.getRequest().getParameter("test")+"<br><br>");
//逐一提取上传文件信息,同时可保存文件。
for(int i=0;i<su.getFiles().getCount();i++)
{
com.jspsmart.upload.File file=su.getFiles().getFile(i);
//若文件不存在则继续
if(file.isMissing())
continue;
//显示当前文件信息
out.println("<table border=1>");
out.println("<tr><td>表单项名(FiledName)</td><td>"+file.getFieldName()+"</tr></tr>");
out.println("<tr><td>文件长度(Size)</td><td>"+file.getSize()+"</td><td>");
out.println("<tr><td>文件名(FileName)</td><td>"+file.getFileName()+"</tr></tr>");
out.println("<tr><td>文件扩展名(FiledExt)</td><td>"+file.getFileExt()+"</tr></tr>");
out.println("<tr><td>文件全名(FiledPathName)</td><td>"+file.getFilePathName()+"</tr></tr>");
out.println("</table><br>");
//将文件另存
//file.saveAs("/upload/"+myFile.getFileName());
//另存到以web应用程序的根目录为文件根目录的目录下
//file.saveAs("/upload/"+myFile.getFileName(),su.SAVE_VIRTUAL);
//另存到操作系统的根目录为文件根目录的目录下
//file.safeAs("c://temp//"+myFile.getFileName(),su.SAVE_PHYSICAL);
}
file.getFilePathName()就是路径追问
我的页面不是用JSP,用的是htm!
追答一样啊,jsp最后也是被编译成了html
直接通过 request 是取不到 File 这个 HTML 元素的内容的,
你要直接在 HTML 页面在提交前,先通过 javascript 将 File 的内容取出来,保存到一个 Hidden 的 HTML 元素里面,然后,在服务器端直接取这个 Hidden 值来获取客户端的文件路径。
<input type="hidden" name="filepath" value="">
给你找了一个链接,关于这个内容: