得到项目根目录,下载文件相关
来源:互联网 发布:算法分析的目的 编辑:程序博客网 时间:2024/05/29 11:40
1.在开发Web项目中,得到项目根目录有以下几种方式:
(1).当可以得到request对象的时候:
String filePath = request.getRealPath("excels");
@Context
private org.apache.cxf.jaxrs.ext.MessageContext mc;
以下在方法内部
HttpServletRequest req =mc.getHttpServletRequest();
String filePath = req.getRealPath("excels");
(2).当无法得到request对象的时候:(这里需要在jsp中或是继承HttpServlet的类)
ServletContext context = super.getServletContext();
String filePath = context.getRealPath("/excels");
2.生成文件随机名字的方式: fileName =UUID.randomUUID().toString()+".xls";
3.生成随机文件下载方式:
(1)利用SmartUpload
<%@ page import="com.jspsmart.upload.*"%>
<%
try {
SmartUpload su = new SmartUpload();
su.initialize(pageContext);
su.downloadFile(request.getRealPath("excels") + "//"
+ request.getParameter("exportContent"));
out.clear();
out = pageContext.pushBody();
} catch (Exception e) {
}
%>
(2).<%
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html; charset=UTF-8");
//防止IE缓存
response.setHeader("pragma","no-cache");
response.setHeader("cache-control","no-cache");
response.setDateHeader("Expires",0);
response.setContentType("APPLICATION/OCTET-STREAM");
response.setHeader("Content-Disposition", "attachment;");
String objectID = request.getParameter("objectID") == null ? "" : request.getParameter("objectID");
SysModel sysmodel = ModelFactory.getSysmodel();
SysPersistence persistence = PersistenceFactory.getInstance(sysmodel);
String sql="";
sql="select FILEEXT, Name " +
"from SysComm_FileImg where Is_del = '0' and FD_OBJECTID="+objectID;
System.out.println(sql);
ArrayList<String[]> list= persistence.getSearchResult(110, sql);
String[] data=(String[])list.get(0);
String filename=data[1]+"."+data[0];
response.setHeader("Content-Disposition", "attachment; filename=/""+java.net.URLEncoder.encode(filename,"UTF-8")+"/"");
ServletOutputStream sout=null;
try {
SysModel sysmodelimg = ModelFactory.getSysmodel();
SysPersistence persistenceimg = PersistenceFactory.getInstance(sysmodelimg);
sout = response.getOutputStream();
persistenceimg.readBlobToOutputStream(110,objectID,"FileContents",sout);
out.clear();
out = pageContext.pushBody();
}catch (Exception e) {
e.printStackTrace();
System.out.println(e.toString());
}finally{
sout.close();
}
%>
- 得到项目根目录,下载文件相关
- java 在项目根目录创建文件
- java 在项目根目录创建文件
- linux相关命令及根目录相关文件说明(一)
- linux相关命令及根目录相关文件说明(二)
- Java文件下载相关
- eclipse插件开发获取Eclipse相关的文件根目录
- 得到根目录下文件夹路径
- 如何得到下载文件的文件名
- 下载项目中的文件
- SSM项目,文件下载
- php下载文件相关资料
- C# 文件下载相关代码
- http相关---多线程下载文件
- Java文件下载相关设置
- 下载网络文件 与 java得到本地目录文件对象
- request 取得项目根目录
- js 获得项目根目录
- PHP下划线函数即魔术方法汇总
- ueryTask,FindTask,IdentifyTask的区别
- 或然误差
- 链接
- 数据结构主要知识点
- 得到项目根目录,下载文件相关
- ClientDataSet 经典 收藏
- linux中fork()函数详解
- xvid 1.22 编译
- Android 之采用execSQL和rawQuery方法完成数据的添删改查操作
- CO Through-postings from FI has been locked in sap
- Java中堆内存与栈内存分配浅析
- Installing on Linux GIT
- LTE网络节点,接口,协议栈 引用 http://blog.csdn.net/yanghehong/archive/2009/02/15/3894307.aspx