多文件上传(表单提交)

多文件上传(表单提交)

前端文件上传方式为表单提交,后端用 HttpServletRequest 接收,如果需要携带参数前端也正常携带,后台通过request.getParameter(“name”)获取。

前端代码:

<form action="/xx/file" method="post" enctype="multipart/form-data">
	<input type="intro" name="intro" /><br />
	<input type="file" name="filelist" /><br />
	<input type="file" name="filelist" /><br />
	<input type="file" name="filelist" /><br />
	<input type="submit" value="提交"/><br />
</form>

后端代码:

@RequestMapping("/file")
    public ModelAndView file(HttpServletRequest request) {
		//获取参数
		String intro = request.getParameter("intro");
		//保存文件
     	HttpServletFileUtil.getFileJon(request);
        return new ModelAndView();
    }

保存文件工具类

public class HttpServletFileUtil {
	//系统内存的地址
    private static String FILEPATH_SYS = "";
    //服务器存放文件地址
    private static String FILEPATH = "";

    public static String getFileJon(HttpServletRequest request) {

        //文件名,多文件中间使用,号隔开,或直接存为数组,根据业务更改
        String fileJon = "";

        if (request instanceof MultipartHttpServletRequest) {
            MultipartHttpServletRequest multipartHttpServletRequest = (MultipartHttpServletRequest) request;
            List<MultipartFile> files = multipartHttpServletRequest.getFiles("filelist");
            Iterator<MultipartFile> iterator = files.iterator();
            while (iterator.hasNext()) {

                MultipartFile file = iterator.next();
                if (file != null && file.getSize() > 0) {
                    try {
                        //获取文件后缀
						// String filename = file.getContentType().substring(file.getContentType().lastIndexOf("/")).substring(1);
                        //文件名
                        String filedes = StringUtils.join(UUID.randomUUID().toString().replace("-", "") + ".jpg");
                        //获取文件路径信息 保存文件用的地址
                        String filepath = StringUtils.join(FILEPATH + filedes);

                        //系统内保存用的
                        String filepathSys = StringUtils.join(FILEPATH_SYS + filedes);

						//多文件地址存数据库,地址中间,号隔开
                        if (StringUtils.isBlank(fileJon)) {
                            fileJon = StringUtils.join(fileJon, filepathSys);
                        } else {
                            fileJon = StringUtils.join(fileJon + ",", filepathSys);
                        }

                        File sa = new File(filepath);
                        file.transferTo(sa);
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
            }
        } else {
            throw new Exception("相关图片不能为空");
        }
        return fileJon;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值