springboot 文件上传

springboot 文件上传
最近项目有一个接收 ios上传文件的需求,在这个过程中遇到了一个坑,我在项目中 接收不到 MultipartFile 里面的值最后让老大解决了 。。。 再次记录一下
用的gradle
jar配置文件:

 
	compile fileTree(dir:'libs',include:['*.jar'])
	compile("org.springframework.cloud:spring-cloud-starter-stream-kafka")
	compile("org.springframework.cloud:spring-cloud-sleuth-zipkin-stream")
	
   	compile("org.springframework.cloud:spring-cloud-config-client")
   	compile("org.springframework.cloud:spring-cloud-starter-eureka")
   	
   	
   	compile("org.springframework.cloud:spring-cloud-starter-ribbon")
   	compile("commons-fileupload:commons-fileupload:1.3.1") //  就是少个这个jar包  但是 我不是很明白  它不是已经引入了 'org.apache.commons 这个么  为什么不一样呢
   	compile("org.springframework.cloud:spring-cloud-starter-feign")
   	compile("org.springframework.cloud:spring-cloud-starter-hystrix")

	compile("org.springframework.boot:spring-boot-starter-cache")
    compile("org.springframework.boot:spring-boot-starter-data-redis")
	compile("org.springframework.boot:spring-boot-starter-actuator")
    compile("org.springframework.boot:spring-boot-starter-web")

	compile group: 'commons-codec', name: 'commons-codec', version: '1.10'
	compile group: 'commons-beanutils', name: 'commons-beanutils', version: '1.9.3'
	compile group: 'org.apache.commons', name: 'commons-lang3', version: '3.5'
	compile group: 'joda-time', name: 'joda-time', version: '2.+'
	
	
	compile group: 'org.apache.kafka', name: 'kafka-clients', version: '0.10.2.0'
	compile group: 'org.apache.kafka', name: 'kafka_2.11', version: '0.10.2.0'
	compile group: 'org.apache.zookeeper', name: 'zookeeper', version: '3.4.9'
   	
    
	//compile group: 'com.auth0', name: 'java-jwt', version: '3.0.1'
	//compile group: 'io.jsonwebtoken', name: 'jjwt', version: '0.6.0'
	//compile group: 'com.nimbusds', name: 'nimbus-jose-jwt', version: '4.11'
	//compile group: 'org.bitbucket.b_c', name: 'jose4j', version: '0.5.0'
	
	compile group: 'org.apache.solr', name: 'solr-solrj', version: '6.3.0'
	
	compile("javax.cache:cache-api")
    
    compile("org.ehcache:ehcache:3.3.+")

然后 在springboot 启动类里面 加入

@SpringBootApplication
@EnableDiscoveryClient
@EnableFeignClients
@EnableCircuitBreaker
@EnableHystrix
@Configuration
@EnableAutoConfiguration(exclude = {MultipartAutoConfiguration.class})
//exclude表示自动配置时不包括Multipart配置
@ComponentScan
public class ApplicationAPI {


    public static void main(String[] args) {
    	// 启动  华为音乐电台 api   服务 a a a
    	SpringApplication.run(ApplicationAPI.class, args);
    }

    //显示声明CommonsMultipartResolver为mutipartResolver
   @Bean(name = "multipartResolver")
   public MultipartResolver multipartResolver(){
        CommonsMultipartResolver resolver = new CommonsMultipartResolver();
        resolver.setDefaultEncoding("UTF-8");
    //        resolver.setResolveLazily(true);//resolveLazily属性启用是为了推迟文件解析,以在在UploadAction中捕获文件大小异常
        resolver.setMaxInMemorySize(40960);
        resolver.setMaxUploadSize(10*1024*1024);//上传文件大小 10M 10*1024*1024
        return resolver;
    }   

配置一下Multipart就可以了

@RequestMapping(value = "/upload",method = RequestMethod.POST)    
    @ResponseBody    
    public String handleFileUpload(@RequestParam("file") MultipartFile file) {    
        if (!file.isEmpty()) {    
    
            return "上传成功";    
    
        } else {    
            return "上传失败,因为文件是空的.";    
        }    
    }  

这样 就完成了 还是比较 简单的 ,但是我看了好多博客 他们引用jar包的时候 都没有引用这个 准确的说 引用的很少 可能是和他们用jsp 有关?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值