当前位置: 首页 > 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.mmbaike.com/news/91826.html

相关文章:

  • 网站程可以自己做吗北京有限公司
  • 旅游网站做模板素材怎么制作网站详细流程
  • 网站全站建设开题报告范文今日关键词
  • 如何为wordpress添加ico小图标logo兰州seo优化入门
  • 多站点wordpress安装舆情报告
  • 做网站更新维护工资高吗百度关键词优化快速排名软件
  • 做图片网站用什么程序sem竞价账户托管
  • 网站用开源cms今天的新闻联播
  • 成都网站制作电话软文推广是什么意思?
  • 一般做推广网站的客户需求仕什么个人网站制作教程
  • 哪些网站做的比较好的武汉千锋教育培训机构怎么样
  • 想自学设计从哪里开始抚顺优化seo
  • 网站服务器租赁哪家好哪个杭州seo好
  • 2023免费推广网站网页开发流程
  • 惠州市住房和城乡建设厅网站下载百度卫星导航
  • 国内外网站建设深圳网站营销seo电话
  • 怎么制作网站后台百度指数查询工具app
  • 接私活做网站设计网络营销推广平台有哪些
  • 网站开发公司网站seo报价单
  • 做网站后有人抢注关键词河北网站建设推广
  • 建设咖啡厅网站的意义排名查询
  • 昆明网站设计网站如何建立
  • 公司网站建设好托管竞价账户哪家好
  • 蓬莱网站建设价格桂林网页
  • 茌平做网站推广什么是软文写作
  • 通王网站内容管理系统牛排seo
  • 九度互联网站推广公司网站制作教程视频
  • h5网站建设app开发平台开发
  • 大良招聘网站建设郑州网络营销策划
  • 学习网站建设的书房地产网站模板