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. java执行命令行

    List<String> command = new ArrayList<String>(); command.add("ping"); ProcessBu ...

  2. 富文本编辑器CKEDITOR的使用配置(问题注解)

    CKEDITOR是一款非常轻便的富文本编辑器,如上图:参考网上的使用方法,我以.net为例,在aspx页面使用, 准备工作:首先要下载控件包,将解压后的整个文件夹添加到项目根目录. 第一步:引用js, ...

  3. AppCanCSS背景图片的属性

    最近在用AppCan框架技术做跨平台移动应用开发,碰到界面布局设计中图片平铺.拉伸效果. 我们用到的是CSS 3中Background-size属性. 网上查了下这个属性,小记下: 取值: backg ...

  4. MySQL REPLACE替换输出

    原输出: [root@ARPGTest ~]# mysql -p`cat /data/save/mysql_root` pro_manager -e'select erlang_script,sql_ ...

  5. IOS开发,如何用最新的Itunes给手机装ipa文件

    搜了半天,发现网上的很多教“使用Itunes给手机装ipa文件”文字都好几年了,现在的Itunes跟过去几年的功能和界面都有很大改变,话不多说直接两句话讲明白,希望帮到需要的人. 使用Itunes给手 ...

  6. Express 学习记录

    1. Express 4.0以上的版本需要独立安装 the express "generator",即 npm install -g express-generator.

  7. 转:Twitter.com在用哪些Javascript框架?

    原文来自于:http://blog.jobbole.com/63964/ 我一直在研究twitter.com使用的一些UI框架.下面是这些框架的清单(大部分是Javascript框架).如果你发现有些 ...

  8. Android中layout_weight的属性理解

    https://www.zybuluo.com/zzudhj/note/102067 在Android开发过程中,在编写布局文件经常会用layout_weight属性:从字面意思上看权重.比值.按比例 ...

  9. iTween visual Editor 0.6.1

    首先添加ITween Path编辑路径(无需路径运动的动画可忽略该步骤): 然后为需要添加动画的物体添加ITween Event脚本: 若是物体沿特定路径运动,则选中Path,并选择一个路径:  若想 ...

  10. Entity Framework with MySQL 学习笔记一(关系整理版)

    1-1 设置 //DataAnnotation 1-1 | 1-0 table //SQLtable : member , columns : memberId, name //SQL basic l ...