文章目录
混合表单
混合表单就是一个form里面出现了文件之外还出现了其他信息,如果要上传文件则表单数据提交需要转换为二进制数据,需要添加enctype=“multipart/form-data”,此时可以实现文件的上传但是使用内置对象request获取表单的其他数据的时候就无法获取,就是null
此时就需要借助上传工具的一些转换方法实现基本数据的获取
直接借助SmartServlet取得参数
package com.xie;
import java.io.File;
import java.util.UUID;
import javax.servlet.ServletConfig;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.jspsmart.upload.SmartUpload;
public abstract class BaseServlet extends HttpServlet{
protected SmartUpload smart = null;
protected String newFileName = null;
/**
* 保存文件
* @param req
* @param resp
*/
public void saveFile(HttpServletRequest req, HttpServletResponse resp) {
//照片处理
try {
//1.实例化上传的工具类对象
smart = new SmartUpload();
//2.取得config内置对象
ServletConfig config = this.getServletConfig();
//3.初始化
smart.initialize(config, req, resp);
//4.设置相关参数(允许上传的文件类型)
smart.setAllowedFilesList("jpg,png");
//smart.setDeniedFilesList("pdf"); 不允许的文件类型
//4.1.设置单个文件的最大值
//smart.setMaxFileSize(1024*1024*10);
//4.2.设置所有文件的最大值
//smart.setTotalMaxFileSize(1024*1024*10