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

网站挣钱网今天军事新闻最新消息

网站挣钱网,今天军事新闻最新消息,城市联盟网站怎么做,网站栏目标签如何调用文件下载-ResponseEntity<T> 说明 在SpringMVC中&#xff0c;通过返回ResponseEntity<T>的类型&#xff0c;可以实现文件下载的功能 核心代码&#xff1a;就是设置HttpHeader 文件下载响应头的设置 content-type 指示响应内容的格式 content…

文件下载-ResponseEntity<T>

说明

在SpringMVC中,通过返回ResponseEntity<T>的类型,可以实现文件下载的功能

核心代码:就是设置HttpHeader

文件下载响应头的设置

content-type                  指示响应内容的格式
content-disposition        指示如何处理响应内容

一般有两种方式:

content-disposition:inline                以内联形式,直接在页面显示
content-disposition:attchment         以附件形式,下载

应用实例

1.准备要下载的文件,复制到,web/directory/Deepseek.png

2.添加链接,web/json.jsp

<a href="<%=request.getContextPath()%>/json/download" >点击下载文件</a>

3.增加方法,com/stein/springMVC/json/handler/JsonHandler.java

@RequestMapping("/download")@ResponseBodypublic ResponseEntity<byte[]> downloadFile(HttpSession session) {//1.获取资源的输入流InputStream resourceAsStream = session.getServletContext().getResourceAsStream("/directory/Deepseek.png");//2.设置读取资源的内存大小byte[] bytes;try {bytes = new byte[resourceAsStream.available()];//3.将资源读取到内存中去resourceAsStream.read(bytes);} catch (IOException e) {throw new RuntimeException(e);}//4.提供构造器的参数public ResponseEntity(@Nullable T body, @Nullable MultiValueMap<String, String> headers, HttpStatus status) {//bytes就是要传输的数据body//headers是传输报头HttpHeaders httpHeaders = new HttpHeaders();//设置传输内容,attachment表示以附件的形式进行下载,下载时的文件名我现在设置这个httpHeaders.add("Content-Disposition","attachment;filename=DeepseekCustom.jpg");//5.指定成功下载时的状态码HttpStatus httpStatus = HttpStatus.OK;//6.创建响应实体,并返回return new ResponseEntity<>(bytes, httpHeaders,HttpStatus.OK);}

4.测试。点击下载后,弹出另存为窗口

postman再测

因为postman没有解析jpg格式,所以显示的乱码。

文件上传

  • 基本介绍

1.Spring MVC为文件上传提供了直接的支持,这种支持是通过即插即用的MultipartResolver实现的。
Spring用Jakarta Commons FileUpload技术实现了一个MultipartResolver实现类:
CommonsMultipartResovler


2.Spring MVC上下文中默认没有装配MultipartResovler,因此默认情况下不能处理文件的上传工作,如果想使用Spring的文件上传功能,需现在上下文中配置MultipartResolver

  • 应用实例

1.引入jar包

2.创建web/upload.jsp

        enctype:encodetype编码类型默i认是application/x-www-urlencoded即url编码这种编码不适二进制文件数据的提交,一般是适用文本

        如果是要进行二进制文件的提交enctype要指定multipart/form-data表示表单提交的数据是有多个部分组成,也就是可以提交二进制数据和文本数据

    <h1>文件上传</h1><form action="<%=request.getContextPath()%>/upload" method="post" enctype="multipart/form-data">文件介绍:<input type="text" name="introduce"><br>选择文件:<input type="file" name="file"><br><input type="submit" value="提交"></form>

3.配置文件上传解析器,web/WEB-INF/springMVC-servlet.xml

    <bean id="multipartResolver"class="org.springframework.web.multipart.commons.CommonsMultipartResolver"/>

4.创建com/stein/springMVC/upload/FileUploadHandler.java

@Controller
public class FileUploadHandler {@RequestMapping("/upload")public String upload(@RequestParam("file")MultipartFile file,//设定好与前端一直的名称后,后面这个变量名file就可以随便改了HttpServletRequest request,String introduce) throws IOException {String originalFilename = file.getOriginalFilename();System.out.println("上传文件的名字=" + originalFilename);System.out.println("introduce: " + introduce);//参数填什么?这儿是打算保存的路径,可以是根路径"/",也可以是全路径("/img/"+originalFilename)//要上传的文件保存的全路径String realPath = request.getServletContext().getRealPath("/");System.out.println("realPath = " + realPath);//上传文件的文件名。可以一步生成。// 注意:如果要创建img文件夹的话,要在web目录里面提前建好,同时检查out目录里面是否已经重构,否则上传会报错//String fileFullPath =request.getServletContext().getRealPath("/img/"+originalFilename);String fileFullPath = realPath + File.separator + originalFilename;System.out.println("fileFullPath = " + fileFullPath);File localFile = new File(fileFullPath);file.transferTo(localFile);return "success";}
}

5.测试

上传成功,success!

6.postman再测。成功!

http://www.zhongyajixie.com/news/22962.html

相关文章:

  • 购物网站前端浮动特效怎么做目前好的推广平台
  • 建设银行手机个人网站苏州seo网站管理
  • 佛山网站建设永网广州市疫情最新情况
  • 二手车为什么做网站十大嵌入式培训机构
  • 阿里云ecs做淘客网站免费的关键词优化工具
  • 什么网站可以做设计赚钱吗汕头seo服务
  • 微网站建设及微信公众号百度seo流量
  • 什么行业做网站搜索创建网站需要什么条件
  • 杭州滨江网站建设公司网站模板库官网
  • app制作工具手机版seo资源网站排名
  • 建设网站需要客户提供什么资料换友情链接的网站
  • 网页制作框架模板的步骤巩义关键词优化推广
  • 动态网站开发实例自己怎么做网站网页
  • 买了个网站后怎么做的网站建设方案外包
  • 电子商务网站建设的步骤一般为搭建网站流程
  • 保定网站建设方案厦门谷歌seo公司有哪些
  • 网站建设一对一培训班全国疫情最新消息今天新增
  • 新疆网站开发报价seo同行网站
  • 怎么做网页自我介绍广州seo教程
  • wordpress 3.1seo案例分析100例
  • 个人网站主题百度公司有哪些部门
  • 邢台市住房和城乡建设局网站sem与seo的区别
  • 网站怎么做动态切图新东方在线网上课程
  • 全国疫情最新资讯关键词优化哪家强
  • 拿word如何做网站网站建设的数字化和互联网化
  • 李连杰做的功夫网站semi
  • 加强政府网站建设长春网站建设方案推广
  • 什么作为国内的主要门户网站成都网络推广哪家好
  • 做网站百度新闻源网络推广怎么做
  • 蛋糕网站设计郑州网站公司哪家好