网上很多人对于这个点点太令色,所以我把代码都发上来
直接上源码:
package com.gwtjs.icustom.attachments;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.web.MultipartAutoConfiguration;
import org.springframework.boot.web.servlet.ServletComponentScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.multipart.MultipartResolver;
import com.gwtjs.icustom.attachments.resolver.CustomMultipartResolver;
@EnableAutoConfiguration(exclude = {MultipartAutoConfiguration.class})
@Configuration
@ComponentScan(basePackages = {"com.gwtjs.icustom.attachments"})
@ServletComponentScan(basePackages = {"com.gwtjs.icustom.attachments"})
@SpringBootApplication
public class UploadfileTestApplication {
public static void main(String[] args) {
SpringApplication.run(UploadfileTestApplication.class, args);
}
/*
* 将 multipartResolver 指向我们刚刚创建好的继承 CommonsMultipartResolver 类的自定义文件上传处理类
*/
@Bean(name = "multipartResolver")
public MultipartResolver multipartResolver() {
CustomMultipartResolver customMultipartResolver = new CustomMultipartResolver();
return customMultipartResolver;
}
}
package com.gwtjs.icustom.attachments.controller;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView;
@Controller
@RequestMapping("/attachments")
public class UploadController {
@RequestMapping(value = "/showUpload", method = RequestMethod.GET)
public ModelAndView showUpload() {
return new ModelAndView("/UploadProgressDemo");
}
@RequestMapping("/upload")
@ResponseBody
public void uploadFile(MultipartFile file) {
System.out.println(file.getOriginalFilename());
}
@RequestMapping("/uploads")
@ResponseBody
public Map<String,Object> uploadFiles(HttpServletRequest request) {
Map<String,Object> result = new HashMap<String,Object>();
List<MultipartFile> files2 = ((MultipartHttpServletRequest) request).getFiles("file");
BufferedOutputStream stream = null;
String uploadPath = "upload/zip/";
result.put("fileLength", files2.size());
int i = 0;
f