文件上传与下载

文件上传与下载

第一种 文件 表单

Ajax单个图片,多个图片,对象,综合上传HTML代码:

<h1>添加对象以及单个图片和多个图片h1>
<form id="fileAndFilesAndObject" name="fileAndFilesAndObject" action="#" method="post" enctype="multipart/form-data">
    企业名称:<input type="text" name="name"><br>
   手机号: <input type="text" name="mobile"><br>
   邮箱: <input type="email" name="email"><br>
    企业logo<input type="file" name="file">
    企业图片<input type="file" name="files" multiple="multiple">
    <input type="button" value="提交">
form>
  /**

   * 上传单个图片,多个图片,以及对象
     /
         $("#fileAndFilesAndObject input[type='button']").click(function () {
     var form=new FormData();
     /**
      * 特别注意:fileAndFilesAndObject,file是指form和input中name的值
      * files是指一个数组
      * */
        var file = document.fileAndFilesAndObject.file.files[0];
        form.append("file",file);
        var files=document.fileAndFilesAndObject.files.files;
        for (var i=0;i

2.上传后端代码

/**
 * 上传多图片和添加企业信息
 *
 * @param request
 * @param file
 * @param companyFiles
 * @param productFiles
 * @return
 * @throws IOException
 */
@RequestMapping(value = "/addCompanyOneAndMore")
public String addCompanyOneAndMore(
        HttpServletRequest request,
        @ModelAttribute CompanyEntity companyEntity,
        @RequestParam("file") MultipartFile file,
        @RequestParam("companyFiles") MultipartFile[] companyFiles,
        @RequestParam("productFiles") MultipartFile[] productFiles,Model model) throws IOException {
    boolean b = Utils.uploadOneFile(request, file);
    if (b) {
        String urls = (String) request.getSession().getAttribute("imageUploadUrl");
        System.out.println("单个图片上传路径" + urls);
        companyEntity.setLogo(urls);
    }
    boolean b1 = Utils.uploadManyFiles(request, companyFiles);
    if (b1) {
        String urls = (String) request.getSession().getAttribute("imageUploadUrl");
        System.out.println("企业图片路径" + urls);
        companyEntity.setCompanyImage(urls);
    }
    boolean b2 = Utils.uploadManyFiles(request, productFiles);
    if (b2) {
        String urls = (String) request.getSession().getAttribute("imageUploadUrl");
        System.out.println("企业产品路径" + urls);
        companyEntity.setProductImage(urls);
    }
    if (b == true && b1 == true && b2 == true) {
        companyService.addCompany(companyEntity);
        model.addAttribute("msg","企业信息添加成功!");
        model.addAttribute("address","/admin/company/getCompanyByPage");
        return "/msg/msg";
    }
    model.addAttribute("msg","系统繁忙,企业信息添加失败,请稍后再试!");
    model.addAttribute("address","/admin/company/getCompanyByPage");
    return "/msg/msg";
}

第二种 文件 请求参数






    @PostMapping("/uploadFile")
    public Result uploadFile(@RequestParam("file") MultipartFile file, @RequestParam(value = "params",required = false,defaultValue = "") String params) {
        logger.info("携带参数为:[{}]",params);
//        logger.info("name : [{}]",paramss.getName());
        return uploadService.uploadFile( file);
    }
    /**
     * 上传文件
     *
     * @param file
     * @return
     */
    public Result uploadFile(MultipartFile file) {
        Map<String, Object> result = new HashMap<>();
        if (file.isEmpty()) {
            result.put("flag", false);
            result.put("msg", "文件不能为空");
        } else {
            // 获取文件名
            String fileName = file.getOriginalFilename();
            Long fileSize = file.getSize();
            try {
                Date date = new Date();
                // 生成路径
                String relativeDir = FileUtil.getRelativeDir(date);
                // 创建文件路径
                File fileDir = new File(savePath + relativeDir);
                // 目录存在
                if (!fileDir.exists()) {
                    fileDir.mkdirs();
                }
                //新的文件名
                String newName = FileUtil.format(date, "HHmmssSSS") + Math.round(Math.random() * 8999 + 1000) + fileName.substring(fileName.lastIndexOf("."));
                // 新文件路径+新文件名
                String filePath = relativeDir + newName;
                // 保存文件
                file.transferTo(new File(savePath + filePath));
                UploadFile uploadFile = new UploadFile();
                uploadFile.setFileName(fileName);
                uploadFile.setFileSize(fileSize);
                uploadFile.setFilePath(filePath);
                uploadFile.setCreateTime(new Date());
                uploadFileDao.insert(uploadFile);
                result.put("flag", true);
                result.put("msg", "上传成功");
                result.put("data", "http://localhost:8082/upload/previewFile?fileId=" + uploadFile.getId());
            } catch (Exception e) {
                e.printStackTrace();
                result.put("flag", false);
                result.put("msg", "图片上传发生未知异常,请联系管理员!");
            }
        }
        return Result.success("success", result);
    }

你可能感兴趣的:(java,java,git)