文件下载,带转码->pdf->swf
private String upload = "保存的路径";
//文件下载
public String download() {
//初始化
this.initContext();
String apath = request.getSession().getServletContext().getRealPath(upload);
File af = new File(apath);
// 假设没有这个目录。就创建个目录
if (!af.exists()) {
af.mkdirs();
}
String filenewaddress = request.getSession().getServletContext().getRealPath(upload);
System.out.println("開始下载,请稍后……");
URL urlfile = null;
HttpURLConnection httpUrl = null;
BufferedInputStream bis = null;
BufferedOutputStream bos = null;
try {
// 把下载地址赋给urlfile
urlfile = new URL(fileoldaddress);
// 打开下载 URL 引用的资源的通信链接(假设尚未建立这种连接)
httpUrl = (HttpURLConnection) urlfile.openConnection();
// 建立与指定socket的连接
httpUrl.connect();
// 提供一个默认的文件名称
String context = httpUrl.getHeaderField("Content-Disposition");
// 推断context是否为空
if (context == null) {
// 取地址最后的/后面的字符当做名字
filename1 = fileoldaddress.substring(fileoldaddress
.lastIndexOf("/") + 1, fileoldaddress.length());
filenewaddress = filenewaddress + "\\" + filename1;
} else {
filename1 = context.substring(context.lastIndexOf("=") + 1,
context.length());
filenewaddress = filenewaddress + "\\" + filename1;
}
// 把本地保存地址赋给f
File f = new File(filenewaddress);
bis = new BufferedInputStream(httpUrl.getInputStream());
bos = new BufferedOutputStream(new FileOutputStream(f));
int len = 2048;
byte[] b = new byte[len];
while ((len = bis.read(b)) != -1) {
bos.write(b, 0, len);
}
bos.flush();
bis.close();
httpUrl.disconnect();
System.out.println("下载完毕。");
} catch (Exception e) {
System.out.println("无效下载地址,错误信息:" + e.getMessage());
this.msg = "下载失败!";
this.success = false;
} finally {
try {
if (bis != null)
bis.close();
if (bos != null)
bos.close();
} catch (IOException e) {
System.out.println("系统错误,错误信息:" + e.getMessage());
System.out.println("请联系管理员!");
}
}
// 下载到本地结束
// 取绝对路径+名
String filepath = apath + "\\" + filename1;
System.out.println(filepath);
// 转格式
DocConverter d = new DocConverter(filepath);
d.conver();
// 转格式结束
return "success";
}
转码须要用到两个软件!
Apache_OpenOffice_incubating_3.4.1_Win_x86_install_zh-CN
swftools
必须先启动这两个软件,才干转码
最新文章
- 1012. The Best Rank (25)
- WCF项目中出现常见错误的解决方法:基础连接已经关闭: 连接被意外关闭
- ant安装(linux)
- TP-Link路由器刷dd-wrt的linux,无线信号增强不少
- 匿名函数自执行原理和instanceof运算符执行原理
- Visual C#每一次新版本的变化
- 【idea】移动下载站
- c++11信号量实现
- C#- 基于Lumisoft.NET组件的POP3邮件接管和删除操纵
- box-shadow 被其他div遮住 shadow was hidden/covered by another div
- ORALCE 编译过程卡死解决方法。
- 【Unity3D技术文档翻译】第1.3篇 创建 AssetBundles
- Raptor入门与安装
- 最常用的JavaScript类的定义
- VS和IIS的一些问题
- Google Maps V3 之 路线服务
- python-面向对象-14_eval函数
- 绝望的主妇第一二三季/Desperate Housewives迅雷下载
- Linux系统对IO端口和IO内存的管理
- 第三视角团队:项目UML设计(团队)