博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Form表单提交后获取下载文件到服务器以及获取文件之外的参数数据
阅读量:3960 次
发布时间:2019-05-24

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

Form表单提交后获取下载文件到服务器以及获取文件之外的参数数据

ServletDemo类:

@MultipartConfig@WebServlet("/ServletDemo")public class ServletDemo  extends HttpServlet {
@Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
super.doGet(req, resp); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//获取文件之外的参数,前提是ServletDemo配置了@MultipartConfig System.out.println(req.getParameter("name")); //获取上传文件的组件 Part part = req.getPart("file"); //获取文件信息 String fileInfo= part.getHeader("content-disposition"); //fileInfo为form-data; name="file"; filename="a.png" char[] chars = fileInfo.toCharArray(); String filename = ""; int index = fileInfo.length()-2; while(chars[index]!='\"'){
filename = chars[index]+filename; index--; } InputStream input= part.getInputStream(); FileOutputStream output= new FileOutputStream("D:\\IDEA_Workspace\\SSM\\src\\images\\"+filename); BufferedInputStream inputStream = new BufferedInputStream(input); BufferedOutputStream outputStream = new BufferedOutputStream(output); int len; byte[] bytes = new byte[1024]; while((len=inputStream.read(bytes))!=-1){
System.out.println(len); outputStream.write(bytes,0,len); } //注意一定要flush一下否则无法完整写入 outputStream.flush(); inputStream.close(); outputStream.close(); }}

表单提交html文件:

    
文件提交样例

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

你可能感兴趣的文章
类结构定义
查看>>
Windows下关于多线程类 CSemaphore,CMutex,CCriticalSection,CEvent,信号量CSemaphore的使用介绍
查看>>
图像处理基本算法(汇总)以及实现
查看>>
C++编程获取本机网卡信息 本机IP 包括Windows和Linux
查看>>
C++连接CTP接口实现简单量化交易
查看>>
服务端使用c++实现websocket协议解析及通信
查看>>
C# string.Format使用说明
查看>>
Linux下安装Mysql数据库开发环境
查看>>
Linux用户及用户组添加和删除操作
查看>>
通用 Makefile 的编写方法以及多目录 makefile 写法
查看>>
C++的4种智能指针剖析使用
查看>>
RPC框架实现之容灾策略
查看>>
Docker私库
查看>>
hdu——1106排序(重定向)
查看>>
hdu——1556Color the ball(树状数组)
查看>>
hdu——1541Stars(树状数组)
查看>>
快速幂的精简代码
查看>>
求大数乘方的前n位数字(对数加快速幂)
查看>>
hdu——2602Bone Collector(第一类背包问题)
查看>>
hdu——1711Number Sequence(kmp专练)
查看>>