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的更多相关文章

  1. Plupload上传实例《模仿微云上传实例》,带源码

    Plupload上传实例<模仿微云上传实例>,带源码,作者:鱼塘总裁 如有疑问,加群交流:646104701 一.实例截图 1.上传过程 2.上传成功 3.上传失败 4.最小化 二.所需文 ...

  2. 大话设计模式(带目录完整版).pdf等

    点击进入百度网盘 大话设计模式(带目录完整版).pdf等 保存至网盘下载二维码举报 赞(0)| 评论 | 分享至 分享时间:2014-04-01 11:02 | 467次浏览 130次下载 81次保存 ...

  3. PDF解决方案(3)--PDF转SWF

    相关专题链接 PDF解决方案(1)--文件上传 PDF解决方案(2)--文件转PDF PDF解决方案(3)--PDF转SWF PDF解决方案(4)--在线浏览 前言:上一篇中介绍了上传的文件转PDF, ...

  4. swftools 将pdf转换swf常见问题说明

    swftools将PDF转成swfSWFTools提供了一系列将各种文件转成swf的工具: font2swf.exe gif2swf.exe jpeg2swf.exe pdf2swf.exe png2 ...

  5. Orchard CMS中如何打包不带源码的模块

    在Orchard CMS的官网已经提供了文档说明如何打包,但是如果使用它的打包方式,打好的nuget包是带源代码的.如果是为开源系统写模块,不需要关注源代码是否可见.但是如果是用Orchard CMS ...

  6. 转】MyEclipse使用总结——使用MyEclipse打包带源码的jar包

    原博文出自于: http://www.cnblogs.com/xdp-gacl/p/4136303.html 感谢! 平时开发中,我们喜欢将一些类打包成jar包,然后在别的项目中继续使用,不过由于看不 ...

  7. MyEclipse使用总结——使用MyEclipse打包带源码的jar包

    平时开发中,我们喜欢将一些类打包成jar包,然后在别的项目中继续使用,不过由于看不到jar包里面的类的源码了,所以也就无法调试,要想调试,那么就只能通过关联源代码的形式,这样或多或少也有一些不方便,今 ...

  8. c# winform 中的 工具栏自动隐藏 splitter用法 带源码

    c# winform 中的 工具栏自动隐藏 splitter用法 带源码 代码下载地址 http://download.csdn.net/detail/simadi/7649313

  9. 【百度地图API】多家地图API内存消耗对比测验(带源码)

    原文:[百度地图API]多家地图API内存消耗对比测验(带源码) 任务描述: 啊,美妙的春节结束了.酸奶小妹和妈妈的山西平遥之旅也宣告成功!距离平遥古城7km,有一个同样身为“世界文化遗产”的寺庙,叫 ...

  10. 10个带源码的充满活力的Web设计教程

    10个带源码的充满活力的Web设计教程 2013-08-02 16:47 佚名 OSCHINA编译 我要评论(0) 字号:T | T Web设计师必须了解各种各样的Web设计风格,这才能让他或者她在设 ...

随机推荐

  1. hdu 2187

    #include <stdio.h> using namespace std; struct race { int p; int w; }; race r[1010]; int cmp(r ...

  2. eclipse提交hadoop集群跑程序

    在eclipse下搭建hadoop后,测试wordcount程序,右击 Run on hadoop 程序跑成功后,发现“INFO - Job job_local401325246_0001 compl ...

  3. 导出EXCEL(转转)

    ))                             content.AppendFormat("<td style='vnd.ms-excel.numberformat:#, ...

  4. Beforeunload打点丢失原因分析及解决方案

    淘宝的鱼相在 2012 年 8 月份发表了一篇文章,里面讲述了他们通过一个月的数据采集试验,得到的结果是:如果在浏览器的本页面刷新之前发送打点请求,各浏览器都有不同程度的点击丢失情况,具体点击丢失率统 ...

  5. DEDE常见问题(转)

    问题1. 把数据保存到数据库附加表 `dede_addonvisa` 时出错,请把相关信息提交给DedeCms官方.Unknown column 'redirecturl' in 'field lis ...

  6. 用Set中元素做条件查询

    一个老师教许多学生,一个学生被许多老师教,一个学生有好多书,同一种书被许多同学拥有.查询教拥有书"a"的学生的老师:   class teacher{   String id;   ...

  7. 关于PHP加速eAccelerator、Xcache、APC和Zend Optimizer

    以前只关注过Zend Optimizer,因为高胖子的书就是这样教的,但是遇到奇葩公司的面试题提问你知道多少个php加速器/缓存,我一下子楞了,因为我所知道的php5.2.x只用过Zend Optim ...

  8. Web Server PROPFIND Method internal IP Discosure

    Title:Web Server PROPFIND Method internal IP Discosure  --2012-11-09 09:47 Nessus扫描出来一个安全缺陷,Web Serv ...

  9. 被墙的情况(同时下载AndroidSDK达到200+kb/s)

    相信大家都遇到过google搜索被墙掉的情况吧:现在用修改Hosts的方法来解决哈 linux下: sudo gedit /etc/hosts win7下: 到目录C:\Windows\System3 ...

  10. Summation of primes

    是我算法不对,还是笔记本CPU太差? 我优化了两次,还是花了三四个小时来得到结果. 在输出上加1就是最终结果. The sum of the primes below 10 is 2 + 3 + 5 ...