在用jspSmartUpload下载文件时 一般都是定好的文件 问是否能用变量来取
1个回答
展开全部
亲,当然可以啦,我给你在servlet中做了一个简单的例子,你可以看一下哈..希望能帮上你...
String path="~~你的路径";
String error="";
String fileDir=request.getParameter("fileDir"); //亲,此处就是接收jsp视图中表单的数据~~
try {
fileDir=new String(fileDir.getBytes("ISO-8859-1"),"gbk").trim(); //解决中文乱码..
if(!fileDir.equals("")){
SmartUpload smartupload=new SmartUpload(); //创建一个用于下载的实例
smartupload.setContentDisposition(null); //禁止自动打开. smartupload.initialize(this.getServletConfig(), request, response);//初始化
smartupload.downloadFile(fileDiri); //此处就是下载了,应该满足你说的要求(变量)了吧!
smartupload=null; //此处释放一下....
}
request.getRequestDispatcher(path).forward(request, response);
} catch(FileNotFoundException e){
e.printStackTrace();
error="对不起,该文件不存在或已被管理员删除!";
request.setAttribute("error", error);
request.getRequestDispatcher(path).forward(request, response);
} catch(SmartUploadException e) {
e.printStackTrace();
error="对不起,系统出现异常,请稍后再试!";
request.setAttribute("error", error);
request.getRequestDispatcher(path).forward(request, response);
}catch(Exception e){
e.printStackTrace();
error="对不起,系统出现异常,请稍后再试!";
request.setAttribute("error", error);
request.getRequestDispatcher(path).forward(request, response);
}
String path="~~你的路径";
String error="";
String fileDir=request.getParameter("fileDir"); //亲,此处就是接收jsp视图中表单的数据~~
try {
fileDir=new String(fileDir.getBytes("ISO-8859-1"),"gbk").trim(); //解决中文乱码..
if(!fileDir.equals("")){
SmartUpload smartupload=new SmartUpload(); //创建一个用于下载的实例
smartupload.setContentDisposition(null); //禁止自动打开. smartupload.initialize(this.getServletConfig(), request, response);//初始化
smartupload.downloadFile(fileDiri); //此处就是下载了,应该满足你说的要求(变量)了吧!
smartupload=null; //此处释放一下....
}
request.getRequestDispatcher(path).forward(request, response);
} catch(FileNotFoundException e){
e.printStackTrace();
error="对不起,该文件不存在或已被管理员删除!";
request.setAttribute("error", error);
request.getRequestDispatcher(path).forward(request, response);
} catch(SmartUploadException e) {
e.printStackTrace();
error="对不起,系统出现异常,请稍后再试!";
request.setAttribute("error", error);
request.getRequestDispatcher(path).forward(request, response);
}catch(Exception e){
e.printStackTrace();
error="对不起,系统出现异常,请稍后再试!";
request.setAttribute("error", error);
request.getRequestDispatcher(path).forward(request, response);
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询