zoukankan      html  css  js  c++  java
  • 【Java__文件上传】web页面同时上传文件和参数

    code

        @RequestMapping("/uploadFile")
        @ResponseBody
        public AjaxResult uploadFile(HttpServletRequest request, HttpServletResponse response) throws Exception {
            boolean isMultipart = ServletFileUpload.isMultipartContent(request);
            if (!isMultipart) {
                return new AjaxResult(0, "isMultipart error");
            }
            String type = request.getParameter("type");
            if (StrUtils.isEmpty(type)) {
                return new AjaxResult(0, "type error");
            }
            boolean isOk = false;
            String imgUrl = "";
            try {
                // FileItem 是表单中的每一个元素的封装  创建一个 FileItem 的工厂类
                FileItemFactory factory = new DiskFileItemFactory();
                // 创建一个文件上传处理器(装饰设计模式)
                ServletFileUpload upload = new ServletFileUpload(factory);
                // 解析请求
                List<FileItem> items = upload.parseRequest(request);
                for (FileItem fileItem : items) {
                    if (fileItem.isFormField()) {
                        continue;
                    }
                    String savePathDir = request.getServletContext().getRealPath("/upload/" + getExId(request) + "/" + type + "/");
                    File file = new File(savePathDir);
                    if (!file.exists()) file.mkdir();
                    String fileName = UUID.randomUUID() + fileItem.getName().substring(fileItem.getName().lastIndexOf("."));
                    fileItem.write(new File(savePathDir + fileName));
                    imgUrl = request.getContextPath() + "/upload/" + getExId(request) + "/" + type + "/" + fileName;
                    isOk = true;
                    break;
                }
            } catch (Exception e) {
                e.printStackTrace();
                logger.error(e.getMessage());
                return AjaxResult.fail();
            }
            AjaxResult ajaxResult = AjaxResult.success();
            if (isOk) {
                ajaxResult.getMap().put("filename", imgUrl);
            } else {
                ajaxResult.setCode(0);
                ajaxResult.setMsg("上传失败");
                File file = new File(imgUrl);
                if (file.exists()) {
                    file.delete();
                }
            }
            return ajaxResult;
        }
    
  • 相关阅读:
    db2循环
    db2 游标使用
    db2 import export load
    DB2常用命令
    多级目录删除父节点,验证子节点是否真正删除
    app接口测试总结
    ios安装app提示【未受信任的企业级开发者】。在设置中信任此开发者
    Fiddler-1 官网下载及安装
    python 笔记1:官网下载及安装python;eclipse中安装配置pydev
    Jmeter入门8 连接microsoft sql server数据库取数据
  • 原文地址:https://www.cnblogs.com/kikyoqiang/p/13039385.html
Copyright © 2011-2022 走看看