当前位置: 首页 > news >正文

网站建设实验报告总结短视频剪辑培训班速成

网站建设实验报告总结,短视频剪辑培训班速成,建设网站站点过程中,哪个网站简历做的好一、情景回顾1、简单的文件上传的接口/*** 文件上传MultipartFile格式** param multipartFile 源文件* param filename 自定义文件名称,允许为空,为空时直接从源文件中拿* return*/RequestMapping("/uploadFileForMultipartFile")LogModuleAnn…

一、情景回顾

1、简单的文件上传的接口

  /*** 文件上传MultipartFile格式** @param multipartFile 源文件* @param filename 自定义文件名称,允许为空,为空时直接从源文件中拿* @return*/@RequestMapping("/uploadFileForMultipartFile")@LogModuleAnnotation(operate = OperatorType.Upload, operateObject = "oss/文件上传/MultipartFile格式")public Result uploadFileForMultipartFile(@RequestParam(value = "file") MultipartFile multipartFile, String filename) throws Exception {if (StringUtils.isBlank(filename)) {filename = UUidUtil.get32Uuid() + "-" + multipartFile.getOriginalFilename();}return Result.success(ossService.uploadFileForMultipartFile(multipartFile, filename));}

2、最初Provider类中的写法(错误版

因为原来的文件上传接口在跟前端对接时用了form data的格式,对接没问题,于是就在provider中也用这种格式去写了:

@PostMapping(value = "/oss/uploadFileForMultipartFile")
Result<String> uploadFileForMultipartFile(@RequestParam(value = "file") MultipartFile multipartFile,String filename) throws Exception;

但是方法没有调用成功,且服务提供端打印的日志显示:

upload file size limit:Current request is not a multipart request

二、问题解决过程

  1. 百度feign调用文件上传失败的解决方案

参考阅读:

解决feign微服务间的文件上传报错问题1

因为服务调用者MultipartFile的value跟服务提供者@RequestPart中的value值不一样导致的。
在服务调用者MultipartFile的value要跟服务提供者的@RequestPart中的value值一样。

解决feign微服务间的文件上传报错问题2

feign上传文件--产生的错误

文件属性需要使用 @RequestPart 属性,而且在请求中添加 consumes = MediaType.MULTIPART_FORM_DATA_VALUE ,
文件表单上传请求通常使用的ContentType为 multipart/form-data ,通过以上直接调用feign的方式即可实现feign 文件上传

补充说明:
produces:它的作用是指定返回值类型,不但可以设置返回值类型还可以设定返回值的字符编码;
consumes: 指定处理请求的提交内容类型(Content-Type),例如application/json, text/html;

得知:需要在MultipartFile对象前使用@RequestPart注解,且在请求方式的添加 consumes = MediaType.MULTIPART_FORM_DATA_VALUE等属性

2、进行调试(错误版

@PostMapping(value = "/oss/uploadFileForMultipartFile",produces = {MediaType.APPLICATION_JSON_UTF8_VALUE}, consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
Result<String> uploadFileForMultipartFile(@RequestPart(value = "file") MultipartFile file, String filename) throws Exception;

很尴尬,直接启动报错了,先前feign调用该post方法时,虽然功能失败,但不至于启动报错

百度翻译了一下异常信息的意思是:正文参数不能与表单参数一起使用

可能是@RequestPart注解的原因导致了这个问题

java.lang.IllegalStateException: Body parameters cannot be used with form parameters.

三、最终修改方案(正确版

于是在方法另外一个参数上加上@RequestParam注解再次进行调试,终于成功了

 @PostMapping(value = "/oss/uploadFileForMultipartFile",produces = {MediaType.APPLICATION_JSON_UTF8_VALUE}, consumes = MediaType.MULTIPART_FORM_DATA_VALUE)Result<String> uploadFileForMultipartFile(@RequestPart(value = "file") MultipartFile file, @RequestParam(value = "filename",required = false)String filename) throws Exception;

1、MediaType.APPLICATION_JSON_UTF8_VALUE不一定需要指定,其他需要注意的部分已经用 黄色加粗 标注

@PostMapping(value = "/oss/uploadFileForMultipartFile",produces = {MediaType.APPLICATION_JSON_UTF8_VALUE}, consumes = MediaType.MULTIPART_FORM_DATA_VALUE)

Result<String> uploadFileForMultipartFile(@RequestPart(value = "file") MultipartFile file, @RequestParam(value = "filename",required = false)String filename) throws Exception;

2、APPLICATION_JSON_UTF8_VALUE过时截图,可以根据项目中使用的版本决定

http://www.hrbkazy.com/news/32841.html

相关文章:

  • 渭南疫情最新消息新增一例郑州粒米seo顾问
  • 如何注册网页网址基本seo
  • 区块链技术和网站开发结合指数基金是什么意思
  • 移动宽带续费网上营业厅网站优化策略分析
  • 网站程序源码东莞今日新闻大事
  • wordpress超强主题宁波seo网络推广报价
  • 南宁做网站推广的公司百度人工服务热线电话
  • 使用vue做的购物网站刚刚刚刚刚刚刚刚刚刚刚刚刚刚刚
  • 怎么做律所的官方网站永久不收费免费的聊天软件
  • 江苏建设人才无纸化考核网站saas建站
  • 效果好的免费网站建设长沙seo关键词排名优化
  • 动漫视频制作软件太原seo管理
  • wordpress容器温州seo排名优化
  • 网站快照历史seo搜索引擎优化内容
  • 建网站一般用什么工具客服系统网页源码2022免费
  • 做网站有一行一行写代码的吗百度竞价托管费用
  • 网站建设推广公司需要哪些岗位seo计费系统登录
  • 正规手机网站建设平台最近的时事新闻
  • 门户网站方案产品策划推广方案
  • 阜新市城乡建设委员会网站公司网站排名
  • 做企业网站赚钱吗网站建设步骤流程详细介绍
  • 在线网站创做简历网站搭建服务
  • 做的比较唯美的网站优化游戏性能的软件
  • 万州网站建设泰安seo排名
  • 网站开发前调查重庆专业做网站公司
  • 体检中心 网站建设方案广告文案
  • 网站建设中 html5网络营销的四大基础理论
  • 企业网站建设须知如何发布自己的广告
  • 权威数据统计网站长沙网站推广有哪些啊
  • 移动局域网ip做网站品牌如何做推广