【ServletFileUpLoad】上传本地文件到服务器
来源:互联网 发布:ubuntu daemon 编辑:程序博客网 时间:2024/06/06 00:26
【ServletFileUpLoad】上传本地文件到服务器
一、项目需要的jar包
二、上传实例
package test23_2;import java.io.File;import java.io.IOException;import java.io.PrintWriter;import java.util.List;import java.util.UUID;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.commons.fileupload.FileItem;import org.apache.commons.fileupload.FileUploadException;import org.apache.commons.fileupload.disk.DiskFileItemFactory;import org.apache.commons.fileupload.servlet.ServletFileUpload;import org.apache.commons.io.FileUtils;/* * 实现基本上传并对文件进行UUID重命名 */public class UploadServlet2 extends HttpServlet {public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {request.setCharacterEncoding("UTF-8");response.setContentType("text/html;charset=utf-8");PrintWriter out = response.getWriter();//1、设置临时上传的路径DiskFileItemFactory disk = new DiskFileItemFactory(10240,new File("e:disk"));//2、设置文件上传的目标路径String servePath = getServletContext().getRealPath("/serviceDisk");System.out.println(servePath+"-------------------------");//3、申明uploadServletFileUpload up = new ServletFileUpload(disk);//4、解析requesttry {List<FileItem> list = up.parseRequest(request);for(FileItem file:list){if(!file.isFormField()){//获取上传文件的名字String fileName = file.getName();fileName = fileName.substring(fileName.lastIndexOf("\\")+1);//获取上传文件的后缀String extName = fileName.substring(fileName.lastIndexOf("."));//申明UUIDString uuid = UUID.randomUUID().toString().replace("-", "");//组成新的名称String newName = uuid+extName;//上传文件FileUtils.copyInputStreamToFile(file.getInputStream(),new File(servePath+"/"+newName));//封装request.setAttribute("newName", newName);request.setAttribute("oldName", fileName);}}//转发request.getRequestDispatcher("jsps/show2.jsp").forward(request, response);} catch (FileUploadException e) {// TODO Auto-generated catch blocknew RuntimeException();}}}
三、前端选择上传文件实例
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <base href="<%=basePath%>"> <title>My JSP 'upload2.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">--> </head> <body> <p>上传文件,重命名<p/> <br> <form action="UploadServlet2" method="post" enctype="multipart/form-data"> 上传图片<input type="file" name="imgs"/></br> 图片说明<input type="text" name="node"/></br> <input type="submit" value="上传"/></br> </form> </body></html>
四、前端显示上传文件结果信息的实例
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <base href="<%=basePath%>"> <title>My JSP 'show2.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">--> </head> <body> 上传文件重命名UUID <br> 文件新名称 ${newName}</br> 文件上传名称 ${oldName}</br> <img src="<c:url value='/serviceDisk/${newName}'/>"/> </body></html>
通过前端上传页面,用户可以选择文件上传,上传核心类接收到请求后,处理请求。上传成功后,将图片信息转发到显示图片信息的前端页面展示。
阅读全文
0 0
- 【ServletFileUpLoad】上传本地文件到服务器
- 远程桌面,上传本地文件到服务器
- PHP上传本地文件到服务器
- linux 上传本地文件到服务器
- 将本地文件上传到服务器上
- C# Winform 上传本地文件到服务器路径
- C# Winform 上传本地文件到服务器路径
- LoadRunner 脚本实现本地文件上传到服务器
- 本地文件上传到服务器 php代码
- LoadRunner 脚本实现本地文件上传到服务器
- php本地文件上传到远程服务器
- 如何将本地文件上传到windows服务器
- ubuntu中将本地文件上传到服务器
- 将本地文件上传到远程git服务器
- 上传本地文件/代码到服务器空间
- Mac将本地文件上传到服务器上
- XShell上传、下载本地文件到linux服务器
- 使用TortoiseGit上传本地文件到远程服务器
- 一个小型web项目的问题整合
- 计算机视觉入门
- name&variable scope
- 一个有用的shell脚本
- Hibernate基本配置
- 【ServletFileUpLoad】上传本地文件到服务器
- 共享图书横空出世一本书看十天只需一块钱
- luogu 1613 跑路
- 图片上传
- 图分析与可视化
- spring自定义注解
- 最近玩了一下nordic
- 状态栏与全屏的处理
- YII2框架中统计图插件highcharts所有属性和方法