Struts2下读取声音文件流并返回至前台
来源:互联网 发布:node服务器和appache 编辑:程序博客网 时间:2024/05/19 00:14
项目中遇到直接读取声音文件时,对于绝对地址(如D:****\文件),w无法获取,而在浏览器直接输地址确可以。为了解决问题,下面采用流的方式返回前端。
Java代码———————————————————————————–
@ParentPackage(“tads-support”)
public class WavFileManage extends BaseAction {
private ByteArrayInputStream imageStream;
private static final long serialVersionUID = -4106065750866542811L;
public String image() throws IOException{ HttpServletRequest request = ServletActionContext.getRequest(); //获取webroot下的文件 String path = request.getParameter("filename"); //创建文件输入流 FileInputStream fis = new FileInputStream(path); //放入bufferedInputStream BufferedInputStream bis=new BufferedInputStream(fis); //定义ByteArrayOutStream ByteArrayOutputStream output = new ByteArrayOutputStream(); int c=bis.read();//读取bis流中的下一个字节 while(c!=-1){ output.write(c); c=bis.read(); } bis.close(); imageStream = new ByteArrayInputStream(output.toByteArray()); return SUCCESS;}public ByteArrayInputStream getImageStream() { return imageStream;}public void setImageStream(ByteArrayInputStream imageStream) { this.imageStream = imageStream;}
}
struts.xml配置———————————————————————
《struts>
《package name=”tads-support” namespace=”/” extends=”tads-default”>
!– 返回声音流 –>
《action name=”image” class=”com.kthw.tads.action.WavFileManage” method=”image”>
《result name=”success” type=”stream”>
《param name=”contentType”>audio/wav 《param>
《param name=”inputName”>imageStream 《param>
《 param name=”bufferSize”>2048 《param>
《/result>
《/action>
《/package>
《/struts>
前端————————————————————————————————
《a href=”image.do?filename=D:******\” target=”_blank” >
- Struts2下读取声音文件流并返回至前台
- 前台读取并绑定gridview
- 利用Struts2框架,将后台数据转化为JSON数据并返回到前台
- 1. 读取WAV声音文件
- 声音文件Sample数据读取
- SDL下播放声音文件
- 应用jQuery Ajax 实现前台与Struts2中Action的交互,并返回一个ArrayList的JSON对象,在前端表格中显示
- servlet对象通过json返回到前台页面并展示
- servlet对象通过json返回到前台页面并展示
- servlet对象通过json返回到前台页面并展示
- 封装捕获到的错误消息,并返回到前台
- 前台获取后台返回的图片并显示
- PHP读取目录下所有文件,并通过ajax返回json格式的数据
- MVC后台创建Json(List),前台接受并循环读取
- (纯前台)读取、解析并展示xls/xlsx
- 声音文件
- LigerUI通过Struts2返回并显示
- LigerUI通过Struts2返回并显示
- 【cqoi2001】 分金币 自己做题时的一点思路
- 对抗女巫的魔法碎片(multiset排序 杭电排位赛-6)
- 2017年8个最流行的Web编程趋势
- MyEclipse的安装与激活
- 安卓项目从eplices转移到安卓studio 报错 Gradle build finished with 216 error(s) in 1m 0s 133ms
- Struts2下读取声音文件流并返回至前台
- Cell Mode模式
- 用VSCode写python的正确姿势
- 华为开源存储框架Carbondata在Cent.OS7.2下的编译到使用
- 如何查找硬解析问题,找到未使用绑定变量的SQL---脚本
- 推荐系统——前言
- Exception in thread ""http-bio-8080"-exec-1" java.lang.OutOfMemoryError: PermGen space Exception in
- 微信小程序开发入门
- Spring Boot各种注解详解