zoukankan      html  css  js  c++  java
  • Spring Boot RestTemplate文件上传

    @ResponseBody  
    @RequestMapping(value = "/upload.do", method = RequestMethod.POST)  
    public String upload(String fileName, MultipartFile jarFile) {  
        // 下面是测试代码  
        System.out.println(fileName);  
        String originalFilename = jarFile.getOriginalFilename();  
        System.out.println(originalFilename);  
        try {  
            String string = new String(jarFile.getBytes(), "UTF-8");  
            System.out.println(string);  
        } catch (UnsupportedEncodingException e) {  
            e.printStackTrace();  
        } catch (IOException e) {  
            e.printStackTrace();  
        }  
        // TODO 处理文件内容...  
        return "OK";  
    }  


    @Test  
    public void testUpload() throws Exception {  
        String url = "http://127.0.0.1:8080/test/upload.do";  
        String filePath = "C:\Users\MikanMu\Desktop\test.txt";  
      
        RestTemplate rest = new RestTemplate();  
        FileSystemResource resource = new FileSystemResource(new File(filePath));  
        MultiValueMap<String, Object> param = new LinkedMultiValueMap<>();  
        param.add("jarFile", resource);  
        param.add("fileName", "test.txt");  
      
        String string = rest.postForObject(url, param, String.class);  
        System.out.println(string);  
    } 
    String string = rest.postForObject(url, param, String.class);  
    可以换成以下方式 HttpEntity
    <MultiValueMap<String, Object>> httpEntity = new HttpEntity<MultiValueMap<String,Object>>(param); ResponseEntity<String> responseEntity = rest.exchange(url, HttpMethod.POST, httpEntity, String.class); System.out.println(responseEntity.getBody());
         
    @PostMapping(value = "/uploadFile")
        @ResponseBody
        @ApiOperation(value = "上传附件", notes = "返回结果,SUCCESS:200,FAILED:500", httpMethod = "POST")
        public String upload(@ApiParam MultipartFile importFile) throws Exception {
            String suffix = importFile.getOriginalFilename().substring(importFile.getOriginalFilename().lastIndexOf("."));
            String showUrl = aLiYunOssService.upload(importFile.getBytes(), suffix);
            return showUrl;
    
        }
    MultiValueMap<String, Object> parts = new LinkedMultiValueMap<String, Object>();
    ByteArrayResource arrayResource = new ByteArrayResource(getBytes(),"test.jpg");
    parts.add(
    "importFile", arrayResource);
    HttpEntity
    <MultiValueMap<String, Object>> httpEntity2 = new HttpEntity<MultiValueMap<String,Object>>(parts);
    ResponseEntity
    <String> responseEntity2 = rest.exchange(url, HttpMethod.POST, httpEntity2, String.class);
    System.out.println(
    "返回地址1==="+responseEntity2.getBody());
  • 相关阅读:
    zabbix服务端安装部署
    SQL基础术语和单行函数
    Win 2008 R2——由于管理员设置的策略,该磁盘处于脱机状态
    如何扎实自己的Java基础?
    可任意拖拽的div js 代码
    最新版通过前端js 代码实现html转canvas载转成pdf的方法
    spring四大注解
    百度地图API:自定义多个途经点的导航
    用jrebel实现 jvm热部署,修改类不用重启tomcat
    jsp 转为pdf
  • 原文地址:https://www.cnblogs.com/yy123/p/6956720.html
Copyright © 2011-2022 走看看