在java里实现页面中的上传与下载
来源:互联网 发布:嵌入式linux led灯 编辑:程序博客网 时间:2024/04/28 00:50
一、文件上传
1.jsp页面中通过form表单上传文件
<form action="upload.do" method="post" enctype="multipart/form-data"> <input type="file" name="ff"> <input type="submit" value="上传"> </form>
//form表单enctype属性一定要改成multipart/form-data,这样才知道submit的是文件
2.创建UploadServlet
public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setCharacterEncoding("utf-8");request.setCharacterEncoding("utf-8");response.setContentType("text/html");//获得磁盘文件条目工厂DiskFileItemFactory factory=new DiskFileItemFactory();//通过调用jar包api,进行文件上传处理ServletFileUpload upload=new ServletFileUpload(factory);//单个文件最大10Mupload.setFileSizeMax(1024*1024*10);//整个request请求的大小,一般比单个文件大小要大,因为包含request的其他请求信息upload.setSizeMax(1024*1024*11);try {//解析request请求List<FileItem> items=upload.parseRequest(request);for(FileItem item:items){//如果不是表单域,则为文件域,开始进行处理if(!item.isFormField()){//获取上传文件的名称String fileName=item.getName();//根据上传文件的名称,创建对应的文件String path=request.getRealPath("/upload");File f=new File(path+"/"+UUID.randomUUID()+"-"+fileName);//写文件,实现上传功能item.write(f);}}} catch (Exception e) {e.printStackTrace();}request.getRequestDispatcher("success.jsp").forward(request, response);}
//要在WebRoot下建立upload文件夹,并在lib下导入两个包上传成功后,可以在tomcat下你项目里的upload文件夹中找到上传的文件
二、下载文件
1.jsp页面中通过a链接下载
<a href="down.do?filename=测试.docx">测试.docx</a>
2.建立DownloadServlet
public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {request.setCharacterEncoding("UTF-8");response.setCharacterEncoding("utf-8");response.setContentType("application/x-msdownload;");String fileName=request.getParameter("filename");System.out.println("下载的文件为:"+new String(fileName.getBytes("iso8859-1"),"UTF-8"));String filePath=request.getRealPath("/upload");//浏览器下载时默认保存的文件名称response.setHeader("Content-disposition", "attachment; filename=\"" + fileName+"\"");InputStream is=new FileInputStream(new File(filePath+"/"+new String(fileName.getBytes("iso8859-1"),"UTF-8")));//得到浏览器响应的输出流OutputStream os=response.getOutputStream();byte data[]=new byte[1024*1024*10];int length=0;while(is.available()>0){length=is.read(data);}os.write(data,0,length);os.flush();}
//因为a链接默认使用get方法,所以传过来的fileName要重新编码成utf-8,否则会出现乱码 0 0
- 在java里实现页面中的上传与下载
- Java实现FTP文件上传与下载
- Java实现FTP文件上传与下载
- Java实现FTP文件上传与下载
- java实现文件上传与下载
- java实现文件上传与下载
- Java实现FTP文件上传与下载
- JAVA中的FtpClient与FTPClient,并实现jsp页面下载ftp服务器上的文件
- java上传与下载
- Java在页面实现文件上传具体代码
- 我在阿里云的日子里,上传与下载东西
- java中的上传于下载
- java实现ftp文件的上传与下载
- Java 使用Socket实现文件上传与下载
- java实现ftp文件的上传与下载
- java实现ftp文件的上传与下载
- java实现ftp文件的上传与下载
- java实现web端文件上传与下载
- 手机拍摄功能详解
- tomcat结合nginx使用小结
- 图像缩放算法及速度优化——(二)双线性插值
- JAVA基础【5.1】《Java核心技术1》继承-继承
- jquery 触碰图片放大不抖动效果
- 在java里实现页面中的上传与下载
- 安卓opengl es如何画N(N>=3)角星 之一—— 原理
- c++ 重载、覆盖和隐藏区别
- 3D游戏引擎底层数据结构的封装之Array
- linux设备驱动归纳总结(三):4.ioctl的实现
- 我的读书感想
- Ubuntu 16.04安装有道词典
- JAVA--字符串
- BZOJ 1010: [HNOI2008]玩具装箱toy