博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Servlet 实现文件上传
阅读量:3904 次
发布时间:2019-05-23

本文共 1560 字,大约阅读时间需要 5 分钟。

Servlet 实现文件上传需要先接收request 发送请求的文件域,然后获取需要上传文件的名字,之后设置文件的存放地址,然后通过

Servlet实现文件上传主要分以下几个步骤

  1. 接收需要进行上传的文件域
  2. 获取上传文件名字
  3. 自定义文件存放路径
  4. 创建目录
  5. 上传至指定路径

注意事项

  1. form 需要设置 enctype=“multipart/form-data”
  2. Servlet 中需要加入@MultipartConfig注解

参考代码如下:

Servlet:

import javax.servlet.ServletException;import javax.servlet.annotation.MultipartConfig;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.Part;import java.io.File;import java.io.IOException;@WebServlet("/FileUploadServlet")@MultipartConfigpublic class FileUploadServlet extends HttpServlet {
@Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.setCharacterEncoding("utf-8"); resp.setContentType("text/html;charset=UTF-8"); //创建文件域 Part part = req.getPart("pic"); //获取文件名字 String fileName = part.getSubmittedFileName(); //重命名文件 String newFilename = System.currentTimeMillis()+fileName.substring(fileName.lastIndexOf(".")); //设置文件存取路径 String filePath = this.getServletContext().getRealPath("/"); filePath = filePath.substring(0,filePath.lastIndexOf("w"))+"upload/"; this.getServletContext().log("上传路径为:" + filePath); //创建目录 File f = new File(filePath); //上传文件 if (!f.exists()) f.mkdirs(); part.write(filePath + "/" + newFilename); }}

前端:

    
Title
图片:

转载地址:http://pdaen.baihongyu.com/

你可能感兴趣的文章
字符编码的前世今生
查看>>
视频笔记:Go 抓包、分析、注入 - John Leon
查看>>
matplotlib 画图
查看>>
linux下模拟丢包,延时命令总结
查看>>
java的字符流简单介绍
查看>>
初识java的xml
查看>>
通过DOM方式对xml文件进行解析
查看>>
哈希桶处理哈希冲突
查看>>
位图(BitMap)&& 布隆过滤器(BloomFilter)
查看>>
总结: 笔试中常见virtual函数问题
查看>>
vue中使用mock模拟后端数据
查看>>
常见的数据库有哪几种?
查看>>
Java后端的SQL语句
查看>>
注意:eclipse使用自己的编译器
查看>>
蓝牙休闲娱乐平台(毕业设计)第七部份
查看>>
emacs24中stardict 的使用(查英语单词)
查看>>
Class对象的获取方法
查看>>
URI与URL的区别
查看>>
关于鼓励、加油的英语句子
查看>>
AWT事件的继承关系图
查看>>