通过form表单上传文件,后台接收的方法

通过form表单上传文件,后台接收的方法,第1张

概述 单纯form表单提交   上传文件时,form表单应加上参数  enctype="multipart/form-data    后台接收时的代码:将表单数据封装进 list集合中 package com.jredu.servlet;import java.io.File;import java.io.IOException;import java.util.ArrayList;

 单纯form表单提交   上传文件时,form表单应加上参数  enctype="multipart/form-data

 

 后台接收时的代码:将表单数据封装进 List集合中

package com.jredu.servlet;import java.io.file;import java.io.IOException;import java.util.ArrayList;import java.util.List;import javax.servlet.servletexception;import javax.servlet.annotation.WebServlet;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 com.jredu.model.User;import com.jredu.service.UserService;import com.jredu.service.Impl.UserServiceImpl;@WebServlet("/register.action")public class Register extends httpServlet {    /**     *      */    private static final long serialVersionUID = 1057467000241502504L;    @OverrIDe    protected voID doPost(httpServletRequest req,httpServletResponse resp)            throws servletexception,IOException {        // Todo auto-generated method stub        doGet(req,resp);    }    @OverrIDe    protected voID doGet(httpServletRequest req,IOException {        // Todo auto-generated method stub        UserService service = new UserServiceImpl();        // 创建磁盘工厂 缓冲区和磁盘目录        diskfileItemFactory factory = new diskfileItemFactory();        // 设置文件上传的大小限制        ServletfileUpload upload = new ServletfileUpload(factory);        upload.setfileSizeMax(1024 * 1024 * 10);// 最大上传10M        upload.setheaderEnCoding("utf-8");// 设置编码格式        try {            String name = null;            // 注册获取前台的值            String value = null;            String newname = null;            ArrayList<Object> List = new ArrayList<Object>();            @SuppressWarnings("unchecked")            List<fileItem> files = upload.parseRequest(req);            for (fileItem fileItem : files) {                // 判断当前的数据时文件还是普通的表单                               if (fileItem.isFormFIEld()) { // 是文件                    name = fileItem.getFIEldname();// 获取属性的名字                    value = fileItem.getString("utf-8");// 获取属性的值                    List.add(value);                } else {// 是表单                    // 获取文件上传的文件名                    name = fileItem.getname();                    // 定义一个新的文件来接收                    newname = System.currentTimeMillis() + name;// 以当前的总秒数来命名防止图片名称相同而覆盖                    file file = new file("D:\image\" + newname);                    // 图片的存储路径                    String headimg = "img/" + newname;                    List.add(headimg);                    // 从缓冲区写入磁盘                    fileItem.write(file);                    fileItem.delete();                }            }            // 获取到全部的用户列表            List<User> uList = service.allUser();            // 将新注册的用户存入数据            boolean flag = service.register(List);            if (flag) {                System.out.println("注册成功");                // 跳转到登陆界面                req.getRequestdispatcher("/page/login.Jsp").forward(req,resp);            } else {                System.out.println("注册失败");            }        } catch (fileUploadException e) {            // Todo auto-generated catch block            e.printstacktrace();        } catch (Exception e) {            // Todo auto-generated catch block            e.printstacktrace();        }    }}
总结

以上是内存溢出为你收集整理的通过form表单上传文件,后台接收的方法全部内容,希望文章能够帮你解决通过form表单上传文件,后台接收的方法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1080727.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存