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. Mysql group_concat

    select p.id,p.parent_id,group_concat(distinct(CONCAT("分类名称:",c.name)) order by c.id desc s ...

  2. 利用FTP将Linux文件备份到Windows

    windows:Windows Server 2008 linux: CentOS release 5.5 (Final)       首先在windows上安装好FTP,本人使用的是Windows ...

  3. ORA-16014: 日志 1 的序列号 242 未归档, 没有可用的目的地

    SQL> alter database open; *第 1 行出现错误:ORA-16014: 日志 1 的序列号 242 未归档, 没有可用的目的地ORA-00312: 联机日志 1 线程 1 ...

  4. Android导入项目时出现红色感叹号

    导入一个新的项目后,丢失android.jar文件 解决方法:在项目名称上单击右键,选择Properties,再选择Android,再在其中选择一个project build target,点击确定之 ...

  5. 自定义ORM框架(转转)

    ORM背景 在数据库界,主流的数据库都是关系型数据库,其采用的关系型数据结构模型,无论从数学上还是实践中都相当的成熟,得到非常广泛的应用.在关系型数据结构理 论中,所有的数据都组织成一个个相互独立的二 ...

  6. tomcat可以访问到软链接设置

    tomcat/conf/context.xml设置<Context allowLinking="true"> 就可以啦.

  7. Thinkphp 连接数据库、查询、添加

    一.连接数据库配置及Model数据模型层 1. Thinkphp\conf\convertion.php中找到数据库设置部分,复制到自己的配置文件中,并添加好有关数据库的内容 JiaoWu\Home\ ...

  8. linux inode已满解决方法

    今天login server的一个网站,发现login后没有生成session.根据以往经验,一般是空间已满导致session文件生成失败. df -h Filesystem Size Used Av ...

  9. Nginx常用Rewrite伪静态法则

    信赖此刻大部门用Linux VPS的伴侣都在利用这个敏捷传布的Nginx,本日就清算一下最常见的PHP法式的Rewrite(伪静态法则). Wordpress: location / {index i ...

  10. WINDOW下php开启pgsql拓展

    操作步骤: 1.修改php.ini,去掉“extension=php_pgsql.dll ”和“extension=php_pdo_pgsql.dll ”前的分号.2.确认C:\php\ext\下ph ...