java歌曲上传下载功能实现,Java上传下载功能的实现详解
上传下载是很简单的功能,但是每次用的时候还是要查,这里整理一下
前台:
提交
主要注意:
enctype="multipart/form-data" method="post"
后台:
各种框架都有自己的上传下载功能,实现也是大同小异,说到底上传就是复制文件,需要一个输出流。通过firebug以看到上传时,会有两个参数传到后台,一个是文件流,这个变量名与input 中的name一致;还有一个就是文件名,默认是filename。
如果使用struts2。文件名是文件流的变量名+FileName。如上是fileFileName。
后台直接:FileUtils.copyFile(shopDatas, tempFile);这里没有使用框架的上传功能
下载的话,实际上就是传一个inputstream,往外读数据。懒得使用框架的功能,可以直接使用response响应
public void downLoad(String newFileName){
InputStream is = null;
OutputStream os = null;
HttpServletResponse response = ServletActionContext.getResponse();
try{
String contentType="application/octet-stream";
response.setContentType(contentType);
response.setHeader("Content-disposition","attachment;filename=\""+newFileName+"\"");
is=new BufferedInputStream(new FileInputStream(newFileName));
ByteArrayOutputStream baos=new ByteArrayOutputStream();
os=new BufferedOutputStream(response.getOutputStream());
byte[] buffer=new byte[4*1024];
int read=0;
while((read=is.read(buffer))!=-1){
baos.write(buffer,0,read);
}
os.write(baos.toByteArray());
}catch(Exception e){
e.printStackTrace();
}finally{
closeStream(os, is);
}
}
java歌曲上传下载功能实现,Java上传下载功能的实现详解相关推荐
- Java多线程系列(九):CountDownLatch、Semaphore等4大并发工具类详解
之前谈过高并发编程系列:4种常用Java线程锁的特点,性能比较.使用场景 ,以及高并发编程系列:ConcurrentHashMap的实现原理(JDK1.7和JDK1.8) 今天主要介绍concurre ...
- Java基础之匿名内部类,匿名内部类是什么?为什么要用匿名内部类,匿名内部类详解。
Java基础之匿名内部类,匿名内部类是什么?为什么要用匿名内部类,匿名内部类详解. 什么是匿名内部类? 顾名思义 匿名 就是没有名字,一个没有名字的内部类,称为匿名内部类. 下面先看一个例子,比如说你 ...
- Android群英传笔记——第十二章:Android5.X 新特性详解,Material Design UI的新体验
Android群英传笔记--第十二章:Android5.X 新特性详解,Material Design UI的新体验 第十一章为什么不写,因为我很早之前就已经写过了,有需要的可以去看 Android高 ...
- Android初级,实现网易云音乐歌曲列表界面效果,播放界面效果,ListView,ViewPager方法详解
初学Android初级,第一篇博客文章,如有错误,还望批评指正! 本文主要内容以网易云音乐歌曲列表界面效果代码,播放音乐界面效果代码为主,并将ListView和ViewPager作为实现界面滑动功能的 ...
- 用windows系统下的DOS命令将腾讯视频客户端下载的qlv文件转换成MP4格式(图文详解)
用windows系统下的DOS命令将腾讯视频客户端下载的qlv文件转换成MP4格式(图文详解) 前言 原理 工具 步骤 延伸 博主联系方式 前言 本人喜欢收集各种优秀的视频,但是很多情况下我们看到的视 ...
- java怎么跟qtp脚本传参数_QTP多个Action之间传递参数的方法详解
脚本的朋友们都会碰到多个Action之间传递参数的问题,想当年我也是研究了好久才成功的,网上虽然有很多文章都在讲这个问题,但是大多都是雷同的抄来抄去不能解决实际问题,也有可能是我太笨了吧.下面我们来详 ...
- java web试题_Java web开发经典面试题汇总(内附答案详解)
原标题:Java web开发经典面试题汇总(内附答案详解) 1.说出Servlet 的生命周期,并说出Servlet 和CGI 的区别? 答:Web 容器加载Servlet 并将其实例化后,Servl ...
- java爬取网页内容 简单例子(2)——附jsoup的select用法详解
[背景] 在上一篇博文 java爬取网页内容 简单例子(1)--使用正则表达式 里面,介绍了如何使用正则表达式去解析网页的内容,虽然该正则表达式比较通用,但繁琐,代码量多,现实中想要想出一条简单的正则 ...
- JAVA SE知识整合(暂时完结 五万七字)后续分点详解
目录 1.别再问为什么在类里面写个sysout语句爆红了,类里面有且只有五个成分: 2.面向对象三大特征: 封装,继承,多态 (扫盲扫盲,别这个都不知道) 3.讲一下static这个很重要的关键词 4 ...
- [转] java - 过滤ASCII码中的不可见字符, ASCII三部分, 各控制字符详解
标签 PostgreSQL , java , Greenplum , 0x00 , 空字符 , NUL , 数据清洗 , 规则 , 过滤 , 非法字符 背景 原文 http://www.codeweb ...
最新文章
- Leetcode 125. 验证回文串 (每日一题 20210816)
- 使用timeit测试Python函数的性能
- 时间控件_Selenium时间控件的处理
- php insert Oracle clob 字段处理问题
- 639. 解码方法 II
- jquery插件开发导读
- 元素(HYSBZ-2460)
- request对象的常用属性与方法-103.课时103.【Django视图高级】HttpRequest对象讲解(Av61533158,P103)
- 通俗易懂!视觉slam第十部分——贝叶斯估计
- 做自媒体也要注意“轻资产”
- mysql数据库笔记 约束_MySQL数据库笔记四:MySQL的约束
- 计算机cmd查询ip地址,cmd命令大全IP地址如何查询,windows cmd常用命令!
- 数据终端设备与无线通信模块之间串行通信链路复用协议(TS27.010)在嵌入式系统上的开发【转】...
- 输出200以内所有素数(python)
- 电影:少年派的奇幻漂流(Life of Pi)
- PVM and MPI 比较
- HR终极一问:为啥选择前端?答:混口饭吃。卒。(附网易面经)
- 讨教大学|六西格玛之属性值数据一致性分析
- 支气管分割并3D展示效果
- 2.1-2.15笔记
热门文章
- 不停歇的Java即将发布JDK16新特性速览及从菜鸟到架构师[图]
- Docker-------网络模式
- 数据仓库架构:传统云的对比
- 家装灯线走线图_家装照明线路走线方法
- docker containerd.io、docker-ce、docker-ce-cli的区别(docker版本安装docker安装方法)(Docker CE和Docker EE,docker.io)
- MTPuTTY配置ssh连接Gitlab
- mysql语句性能优化-使用case when 代替count(*)
- 4rx4 服务器内存2rx4_服务器内存上的2RX8 2RX4 4RX4 4RX8代表的具体意思是什么?
- 北京理工大学统考计算机在线作业,北京理工大学计算机统考网上作业答案
- 24 个 Docker 常见问题处理技巧