@RequestParam, @RequestParam ,@RequestPart的区别

@RequestParam, @RequestParam ,@RequestPart的区别

@RequestParam注解是springMVC对从前端获取参数的封装

前端:

<formaction="http://localhost:8080/api/assetfile2" method="post"enctype="multipart/form-data"> 
     Selecta file : <input type="file" name="file1"size="50" /> 
     <inputtype="submit" value="Upload It" /> 
</form> 

后台:

@RequestParam(value=""file1"",required=true) MultipartFile file,

required=true表示value=file1必须与前端里参数name=“file1”保持一致,如果不一样,会报错

required=false表示不要求保持一致.

@Multipart的作用是文件上传时定义multipart的格式

@Multipart(value=“assetfile”,type=“text/plain”)

type="text/plain"表示上传文件是txt类型

@RequestPart注解与@Multipart作用类似,但是使用它容易报null错误,不建议使用

Springboot中用@RequestPart获取上传文件参数

@PostMapping("/upload")
public void upload(@RequestPart("file") MultipartFile file , @RequestPart("files") MultipartFile[] files) throws IOException {
    //读取单个文件
    if(!file.isEmpty())
    {
        String filename = file.getOriginalFilename();
        file.transferTo(new File("D:\\"));
    }
 
    //读取多个文件
    if(files.length > 0)
    {
        for(MultipartFile afile : files)
        {
            if(!afile.isEmpty())
            {
                String filename = afile.getOriginalFilename();
                afile.transferTo(new File("D:\\"));
            }
        }
    }
}

springboot使用带@RequestPart注解传参文件和json或dto,附带postman请求调用方法

https://blog.csdn.net/Koikoi12/article/details/121403140?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-121403140-blog-119546662.pc_relevant_paycolumn_v3&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-121403140-blog-119546662.pc_relevant_paycolumn_v3&utm_relevant_index=2
dto

import com.aliyun.dysmsapi20170525.models.AddSmsSignRequest;
import lombok.Data;
import java.util.List;
/**
 * @author: liziqiang
 * @description: ReqSendCodeDto
 * @date: 2021/6/23 7:12 下午
 */
@Data
public class AliSmsSignDto {
    private Integer signSource;
    private String signName;
    private String remark;
    private List<AddSmsSignRequest.AddSmsSignRequestSignFileList> signFileList;
}

controller

@PostMapping("/add")
@ApiOperation(value = "阿里短信签名新增", notes = "阿里短信签名新增")
public CustomRestResult<String> addSmsSign(@RequestPart("json") AliSmsSignDto aliSmsSignDto,
                                           @RequestPart("file") MultipartFile file){
    aliSmsSignService.addSmsSign(aliSmsSignDto,file);
    return CustomRestResult.success("新增成功");
}

postman传参方式

注意json一定要改成file格式传

图片后期补上

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值