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());
  • 相关阅读:
    ElasticSearch7.6学习使用及问题总结
    phpstorm2020.1破解及使用
    大规模网站开发技术
    备份数据库、恢复数据库、定时
    Centos7系统tmp目录下文件默认保留时长
    linux删除指定文件夹中某个文件除外的其他文件
    python resource模块使用
    python logging 日志轮转文件不删除问题的解决方法
    linux 常用命令快捷键
    shell学习笔记(4)
  • 原文地址:https://www.cnblogs.com/yy123/p/6956720.html
Copyright © 2011-2022 走看看