上传下载是很简单的功能,但是每次用的时候还是要查,这里整理一下

前台:

提交

主要注意:

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上传下载功能的实现详解相关推荐

  1. Java多线程系列(九):CountDownLatch、Semaphore等4大并发工具类详解

    之前谈过高并发编程系列:4种常用Java线程锁的特点,性能比较.使用场景 ,以及高并发编程系列:ConcurrentHashMap的实现原理(JDK1.7和JDK1.8) 今天主要介绍concurre ...

  2. Java基础之匿名内部类,匿名内部类是什么?为什么要用匿名内部类,匿名内部类详解。

    Java基础之匿名内部类,匿名内部类是什么?为什么要用匿名内部类,匿名内部类详解. 什么是匿名内部类? 顾名思义 匿名 就是没有名字,一个没有名字的内部类,称为匿名内部类. 下面先看一个例子,比如说你 ...

  3. Android群英传笔记——第十二章:Android5.X 新特性详解,Material Design UI的新体验

    Android群英传笔记--第十二章:Android5.X 新特性详解,Material Design UI的新体验 第十一章为什么不写,因为我很早之前就已经写过了,有需要的可以去看 Android高 ...

  4. Android初级,实现网易云音乐歌曲列表界面效果,播放界面效果,ListView,ViewPager方法详解

    初学Android初级,第一篇博客文章,如有错误,还望批评指正! 本文主要内容以网易云音乐歌曲列表界面效果代码,播放音乐界面效果代码为主,并将ListView和ViewPager作为实现界面滑动功能的 ...

  5. 用windows系统下的DOS命令将腾讯视频客户端下载的qlv文件转换成MP4格式(图文详解)

    用windows系统下的DOS命令将腾讯视频客户端下载的qlv文件转换成MP4格式(图文详解) 前言 原理 工具 步骤 延伸 博主联系方式 前言 本人喜欢收集各种优秀的视频,但是很多情况下我们看到的视 ...

  6. java怎么跟qtp脚本传参数_QTP多个Action之间传递参数的方法详解

    脚本的朋友们都会碰到多个Action之间传递参数的问题,想当年我也是研究了好久才成功的,网上虽然有很多文章都在讲这个问题,但是大多都是雷同的抄来抄去不能解决实际问题,也有可能是我太笨了吧.下面我们来详 ...

  7. java web试题_Java web开发经典面试题汇总(内附答案详解)

    原标题:Java web开发经典面试题汇总(内附答案详解) 1.说出Servlet 的生命周期,并说出Servlet 和CGI 的区别? 答:Web 容器加载Servlet 并将其实例化后,Servl ...

  8. java爬取网页内容 简单例子(2)——附jsoup的select用法详解

    [背景] 在上一篇博文 java爬取网页内容 简单例子(1)--使用正则表达式 里面,介绍了如何使用正则表达式去解析网页的内容,虽然该正则表达式比较通用,但繁琐,代码量多,现实中想要想出一条简单的正则 ...

  9. JAVA SE知识整合(暂时完结 五万七字)后续分点详解

    目录 1.别再问为什么在类里面写个sysout语句爆红了,类里面有且只有五个成分: 2.面向对象三大特征: 封装,继承,多态 (扫盲扫盲,别这个都不知道) 3.讲一下static这个很重要的关键词 4 ...

  10. [转] java - 过滤ASCII码中的不可见字符, ASCII三部分, 各控制字符详解

    标签 PostgreSQL , java , Greenplum , 0x00 , 空字符 , NUL , 数据清洗 , 规则 , 过滤 , 非法字符 背景 原文 http://www.codeweb ...

最新文章

  1. Leetcode 125. 验证回文串 (每日一题 20210816)
  2. 使用timeit测试Python函数的性能
  3. 时间控件_Selenium时间控件的处理
  4. php insert Oracle clob 字段处理问题
  5. 639. 解码方法 II
  6. jquery插件开发导读
  7. 元素(HYSBZ-2460)
  8. request对象的常用属性与方法-103.课时103.【Django视图高级】HttpRequest对象讲解(Av61533158,P103)
  9. 通俗易懂!视觉slam第十部分——贝叶斯估计
  10. 做自媒体也要注意“轻资产”
  11. mysql数据库笔记 约束_MySQL数据库笔记四:MySQL的约束
  12. 计算机cmd查询ip地址,cmd命令大全IP地址如何查询,windows cmd常用命令!
  13. 数据终端设备与无线通信模块之间串行通信链路复用协议(TS27.010)在嵌入式系统上的开发【转】...
  14. 输出200以内所有素数(python)
  15. 电影:少年派的奇幻漂流(Life of Pi)
  16. PVM and MPI 比较
  17. HR终极一问:为啥选择前端?答:混口饭吃。卒。(附网易面经)
  18. 讨教大学|六西格玛之属性值数据一致性分析
  19. 支气管分割并3D展示效果
  20. 2.1-2.15笔记

热门文章

  1. 不停歇的Java即将发布JDK16新特性速览及从菜鸟到架构师[图]
  2. Docker-------网络模式
  3. 数据仓库架构:传统云的对比
  4. 家装灯线走线图_家装照明线路走线方法
  5. docker containerd.io、docker-ce、docker-ce-cli的区别(docker版本安装docker安装方法)(Docker CE和Docker EE,docker.io)
  6. MTPuTTY配置ssh连接Gitlab
  7. mysql语句性能优化-使用case when 代替count(*)
  8. 4rx4 服务器内存2rx4_服务器内存上的2RX8 2RX4 4RX4 4RX8代表的具体意思是什么?
  9. 北京理工大学统考计算机在线作业,北京理工大学计算机统考网上作业答案
  10. 24 个 Docker 常见问题处理技巧