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());
  • 相关阅读:
    【Xamarin挖墙脚系列:IOS-关于手机支持的屏幕方向】
    【Xamarin挖墙脚系列:Xamarin 上台讲述PPT呵呵呵】
    Java文件下载
    javaWeb学习总结(2)- http协议
    javaWeb学习总结(1)- JavaWeb开发入门
    java中几种获取项目路径方式
    XSS研究1-来自外部的XSS攻击
    Session Cookie的HttpOnly和secure属性
    关于Cookie安全性设置的那些事
    Hibernate 所有缓存机制详解
  • 原文地址:https://www.cnblogs.com/yy123/p/6956720.html
Copyright © 2011-2022 走看看