文件下载,带转码->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
必须先启动这两个软件,才干转码
文件下载,带转码->pdf->swf的更多相关文章
- Plupload上传实例《模仿微云上传实例》,带源码
Plupload上传实例<模仿微云上传实例>,带源码,作者:鱼塘总裁 如有疑问,加群交流:646104701 一.实例截图 1.上传过程 2.上传成功 3.上传失败 4.最小化 二.所需文 ...
- 大话设计模式(带目录完整版).pdf等
点击进入百度网盘 大话设计模式(带目录完整版).pdf等 保存至网盘下载二维码举报 赞(0)| 评论 | 分享至 分享时间:2014-04-01 11:02 | 467次浏览 130次下载 81次保存 ...
- PDF解决方案(3)--PDF转SWF
相关专题链接 PDF解决方案(1)--文件上传 PDF解决方案(2)--文件转PDF PDF解决方案(3)--PDF转SWF PDF解决方案(4)--在线浏览 前言:上一篇中介绍了上传的文件转PDF, ...
- swftools 将pdf转换swf常见问题说明
swftools将PDF转成swfSWFTools提供了一系列将各种文件转成swf的工具: font2swf.exe gif2swf.exe jpeg2swf.exe pdf2swf.exe png2 ...
- Orchard CMS中如何打包不带源码的模块
在Orchard CMS的官网已经提供了文档说明如何打包,但是如果使用它的打包方式,打好的nuget包是带源代码的.如果是为开源系统写模块,不需要关注源代码是否可见.但是如果是用Orchard CMS ...
- 转】MyEclipse使用总结——使用MyEclipse打包带源码的jar包
原博文出自于: http://www.cnblogs.com/xdp-gacl/p/4136303.html 感谢! 平时开发中,我们喜欢将一些类打包成jar包,然后在别的项目中继续使用,不过由于看不 ...
- MyEclipse使用总结——使用MyEclipse打包带源码的jar包
平时开发中,我们喜欢将一些类打包成jar包,然后在别的项目中继续使用,不过由于看不到jar包里面的类的源码了,所以也就无法调试,要想调试,那么就只能通过关联源代码的形式,这样或多或少也有一些不方便,今 ...
- c# winform 中的 工具栏自动隐藏 splitter用法 带源码
c# winform 中的 工具栏自动隐藏 splitter用法 带源码 代码下载地址 http://download.csdn.net/detail/simadi/7649313
- 【百度地图API】多家地图API内存消耗对比测验(带源码)
原文:[百度地图API]多家地图API内存消耗对比测验(带源码) 任务描述: 啊,美妙的春节结束了.酸奶小妹和妈妈的山西平遥之旅也宣告成功!距离平遥古城7km,有一个同样身为“世界文化遗产”的寺庙,叫 ...
- 10个带源码的充满活力的Web设计教程
10个带源码的充满活力的Web设计教程 2013-08-02 16:47 佚名 OSCHINA编译 我要评论(0) 字号:T | T Web设计师必须了解各种各样的Web设计风格,这才能让他或者她在设 ...
随机推荐
- HTML中常用的列表标签
- 《CSS网站布局实录》学习笔记(三)
第三章 CSS网页布局与定位 3.1 div 几乎XHTML中的任何标签都可以用于浮动与定位,而div首当其冲.对于其他标签而言,往往有它自身存在的目的,而div元素存在的目的就是为了浮动与定位. 3 ...
- Windows Server 2003 SP2 R2 企业版/标准版/32与64位 CD-KEY
微软发布Windows Server 2003 R2版的目的是希望透过它填补Windows Server 2003 SP1和Longhorn Server之间的产品发布时间间隔.所以Windows S ...
- C#数组的使用
//计算数组中最大值,最小值,平均值和总和 //类中main最先执行 static void Main(string[] args) { //声明一个数组,数组长度一定固定就不能更改了 , , , , ...
- oracle单行函数之日期函数
在日期上加上或减去一个数字结果仍为日期. 两个日期相减返回日期之间相差的天数. 可以用数字除24来向日期中加上或减去小时. SQL from dual; SYSDATE SYSDATE ------- ...
- 请写一个C函数,判断处理器是大端存储还是小端存储,若处理器是Big_endian的,则返回0;若是Little_endian的,则返回1
[解答] int checkCPU() { { union w { int a; char b; }c; c.a=1; return (c.b==1); } } [剖析] 嵌入式系统开发者应该对Lit ...
- THINK PHP U的用法
public function index(){ //$db=new \Think\Model(); //$db=M('msg'); //$result=$db->query("sel ...
- jquery mobile将页面内容当成弹框进行显示
注:必须使用相对应版本的jquery mobile css.不然无法正常显示 <div data-role="page" id="pageone"> ...
- PHP备份数据库的原理和方法 57
1.PHP备份数据库的原理查找所有表--查找所有字段(需要列出所有字段名, 字段类型等相关信 息)---查找所有数据(读取数据出来注意 特殊符号的转换 addslashes ())--生成SQL(把数 ...
- CMD 下 进入 ORACLE
.sqlplus /nolog .connect sys/orcl@ORCL as sysdba .select sysdate from dual exit;