SpringBoot 시작 아홉 번째, 간단한 파일 업로드

  항목 기본 구성 참조 SpringBoot는 SpringBoot은 MyEclipse 새로운 프로젝트를 사용하여 시작하기 ,은 MyEclipse SpringBoot 프로젝트가 될 수있는 새로운 사용. 이제 다음, 두 단계를 매우 간단한 방법을 추가, 프로젝트에 MyBatis로 지원을 추가합니다 :

다음과 같은 구성 정보를 추가 할 1의 pom.xml

<!-- 文件上传配置开始 -->
<!-- 9.引入commons-io依赖 -->
<dependency>
    <groupId>commons-io</groupId>
    <artifactId>commons-io</artifactId>
    <version>2.4</version>
</dependency>

<!-- 10.引入commons-fileupload依赖 -->
<dependency>
    <groupId>commons-fileupload</groupId>
    <artifactId>commons-fileupload</artifactId>
    <version>1.3.3</version>
</dependency>
<!-- 文件上传配置结束 -->

다음 구성 파일의 구성 정보를 추가합니다

# ----------------文件传输---------------
## 单个数据的大小
spring.servlet.multipart.max-file-size:200MB
## 总数据的大小
spring.servlet.multipart.max-request-size:500MB

3. 쓰기 파일 업로드 도구

import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

import org.springframework.web.multipart.MultipartFile;

public class ToolUpLoad {
    /**
     * @描述:上传文件到临时目录
     * 
     * @param file 上传的文件
     * @param tempPath 上传文件存放路径
     * @return 
     */
    public static Map<String, Object> fileUpload(MultipartFile file, String tempPath) {
        Map<String, Object> resultMap = new HashMap<String, Object>();
        if (null == file) {
            resultMap.put("result", false);
            resultMap.put("msg", "获取上传文件失败,请检查file上传组件的名称是否正确");
        } else if (file.isEmpty()) {
            resultMap.put("result", false);
            resultMap.put("msg", "没有选择文件");
        } else {
            File fileDir = new File(tempPath);
            if (!fileDir.exists()) {
                fileDir.mkdirs();
            }
            String filename = file.getOriginalFilename();
            filename = tempPath + DateUtil.getNowDateString("YYYYMMddHHmmss") + "_" + filename;
            File dest = new File(filename);
            //保存文件
            try {
                file.transferTo(dest);
                resultMap.put("result", true);
                resultMap.put("msg", "上传成功");
                resultMap.put("filePath", "filename");
            } catch (IOException e) {
                e.printStackTrace();
                resultMap.put("result", false);
                resultMap.put("msg", "文件上传发生异常");
            }
        }
        return resultMap;
    }
}

4. 파일 업로드

한 가지 방법 :

요청 페이지

<form action="xxx/upload" method="post" enctype="multipart/form-data" name="form1" id="form1">
    文件名:<input type="file" name="file" id="file" />
  <input type="submit" name="button" id="button" value="提交" />
</form>

SpringBoot 시작 아홉 번째, 간단한 파일 업로드

제어 장치

/**
 * @描述:文件上传
 * 请求页面file组件的name必须为"file"才可以获取到信息,否则为null
 * @param file
 * @return 
 */
@RequestMapping("upload")
@ResponseBody
public String upload(MultipartFile file){
    // 文件上传
    Map<String, Object> resultMap = ToolUpLoad.fileUpload(file);
    return JSONObject.toJSONString(resultMap)
}

두 번째 방법 :

요청 페이지

<form action="xxx/upload" method="post" enctype="multipart/form-data" name="form1" id="form1">
    文件名:<input type="file" name="bgImg" id="bgImg" />
  <input type="submit" name="button" id="button" value="提交" />
</form>

SpringBoot 시작 아홉 번째, 간단한 파일 업로드

제어 장치

/**
 * @描述:文件上传
 * 请求页面的file组件的name为需要和接收参数名称一致
 * @param file
 * @return 
 */
@RequestMapping("uploadTwo")
@ResponseBody
    public String uploadTwo(@RequestParam("bgImg") MultipartFile file) {
    // 文件上传
    Map<String, Object> resultMap = ToolUpLoad.fileUpload(file);
    return JSONObject.toJSONString(resultMap)
}

추천

출처blog.51cto.com/1197822/2451819