文件下载,带转码->pdf->swf

文件下载,带转码->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

必须先启动这两个软件,才干转码

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/115691.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 一个可以恶搞朋友的关机程序!!!

    一个可以恶搞朋友的关机程序!!!文章目录前言一、关机程序1.思路分析二、运行结果如下1.点击后总结前言这是一个可以恶搞朋友的关机程序,实现原理是通过system直接调用dos命令窗口启动关机程序,既然是恶搞那就一定要给你的恶搞对象一定的“机会”,下面我将带大家一起来学习一个这个简单的恶搞程序。(源码可以私信找我要,简单改一下输出语句便可以直接自己使用)大家编译后可以直接把.exe文件发给你所需要恶搞的对象一、关机程序1.思路分析1.使用system调用dos命令窗口直接输入关机命令并弹出提示,此时windows响应跳出关机

  • Js判断数组中是否存在某个元素「建议收藏」

    Js判断数组中是否存在某个元素「建议收藏」方法一:indexOf(item,start);Item:要查找的值;start:可选的整数参数,缺省则从起始位子开始查找。indexOf();返回元素在数组中的位置,如果没有则返回-1;例子:vararr=[‘aaa’,’bbb’,’ccc’,’ddd’,’eee’];  vara=arr.indexOf(‘ddd’);  console.log(a);  //3  varb=arr.indexOf(‘d’);  console.log(b);  //-1  我通常的用法:if(

    2022年10月19日
  • 关于java类加载正确的是_java类初始化过程

    关于java类加载正确的是_java类初始化过程注意我们当在另一个类中引用其他类的final静态值的时候,编译器把其他类的final符号引用存储在自己类的常量池中了

  • mybatis的resultType integer(resultmap标签详解)

        在官方文档中对resultType做了如下介绍:从这条语句中返回的期望类型的类的完全限定名或别名。注意如果是集合情形,那应该是集合可以包含的类型,而不能是集合本身。使用resultType或resultMap,但不能同时使用。mybatis中resultType可选类型:1,java的基础类型及其包装类int,double和java.lang.Integer,java…

  • Jenkins详细安装与构建部署使用教程[通俗易懂]

    Jenkins详细安装与构建部署使用教程[通俗易懂]     Jenkins是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括:1、持续的软件版本发布/测试项目。2、监控外部调用执行的工作。本文使用的Linux:Ubuntu其中JDK、Tomcat、SVN服务器请看这里Ubuntu安装配置JDK、Tomcat、SVN…

  • 32位int取值范围_正则表达式判断是否是int32

    32位int取值范围_正则表达式判断是否是int32在做游戏的开发中,由于游戏运行的时间已经很长,数据量

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号