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

胶州为企业做网站的公司今日新闻摘抄50字

胶州为企业做网站的公司,今日新闻摘抄50字,莆田网站建设方案报价,传奇私服打广告网站咋做统计代码如下 值得注意的是上传时候不需要参数servletRequest而下载时候却需要servletResponse,这是为什么呢? 这是因为文件上传时,客户端通过 HTTP POST 请求将文件数据放在 请求体(Body) 中。Spring MVC 对上传过程进行…

代码如下

值得注意的是上传时候不需要参数servletRequest而下载时候却需要servletResponse,这是为什么呢?

这是因为文件上传时,客户端通过 HTTP POST 请求将文件数据放在 请求体(Body) 中。Spring MVC 对上传过程进行了高度封装,开发者无需直接操作 HttpServletRequest:

  • 框架自动解析:当请求的 Content-Type 为 multipart/form-data 时,Spring 会自动解析请求体,并将文件内容封装为 MultipartFile 对象。

  • 简化参数绑定:通过 @RequestParam(“file”) MultipartFile file 即可直接获取文件对象,无需手动从 HttpServletRequest 中提取数据。

那为什么需要servletResponse呢?

  • 因为文件内容需要直接写入响应输出流,而 Spring 的 @ResponseBody 或 ResponseEntity 适用于结构化数据(如 JSON),不适合大文件流式传输。
package com.xxx.xxxxx.controller;import com.xxx.xxxxx.common.R;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.UUID;/*** 文件上传和下载*/
@RestController
@RequestMapping("/common")
@Slf4j
public class CommonController {// 这个在application.yml里配置@Value("${reggie.path}")private String basePath;/*** 文件上传* @param file* @return*/@PostMapping("/upload")public httpResp<String> upload(@RequestParam("file") MultipartFile file){// file是一个临时文件,需要转存到指定位置,否则本次请求完成后临时文件会删除log.info(file.toString());//原始文件名String originalFilename = file.getOriginalFilename();//abc.jpgString suffix = originalFilename.substring(originalFilename.lastIndexOf("."));//使用UUID重新生成文件名,防止文件名称重复造成文件覆盖String fileName = UUID.randomUUID().toString() + suffix;//dfsdfdfd.jpg//创建一个目录对象File dir = new File(basePath);//判断当前目录是否存在if(!dir.exists()){//目录不存在,需要创建dir.mkdirs();}try {// 将临时文件转存到指定位置file.transferTo(new File(basePath + fileName));} catch (IOException e) {e.printStackTrace();}return httpResp.success(fileName);}/*** 文件下载* @param name* @param response*/@GetMapping("/download")public void download(String name, HttpServletResponse response){try {//输入流,通过输入流读取文件内容FileInputStream fileInputStream = new FileInputStream(new File(basePath + name));//输出流,通过输出流将文件写回浏览器,因为我们要把文件返还回去,所以要ServletResponseServletOutputStream outputStream = response.getOutputStream();response.setContentType("image/jpeg");int len = 0;byte[] bytes = new byte[1024];while ((len = fileInputStream.read(bytes)) != -1){outputStream.write(bytes,0,len);outputStream.flush();}//关闭资源outputStream.close();fileInputStream.close();} catch (Exception e) {e.printStackTrace();}}
}
http://www.dtcms.com/wzjs/81657.html

相关文章:

  • 零基础做网站教程南京seo收费
  • 巩义网站建设报价青岛seo关键词
  • 容城县网站开发什么平台免费推广效果最好
  • 企业网站制作前期需要什么资料什么平台可以发广告引流
  • 网站的建设服务平台山东seo多少钱
  • 网站上传格式世界足球排名前100名
  • 做网站下载那个数据库好跨国网站浏览器
  • 如何做静态页网站it培训机构
  • 网站内容建设要求age06简述网站建设的基本流程
  • 酒店网站建设与设计公司链网
  • 如何建自己网站做淘宝客电商关键词排名优化怎么做?
  • 怎么做能收费的视频网站网址搜索
  • 做公司官网需要哪些技术山东seo推广
  • 杭州做绒毛鉴定网站厦门人才网官网登录
  • 做营销网站广州网页制作
  • 阿迪达斯网站建设定位注册网站域名
  • 英国网站后缀灰色词seo排名
  • 网站制作成品下载百度关键词排名代做
  • ps做的网站怎样在dw里打开seo云优化如何
  • 微网站如何做推广方案设计线上产品推广方案
  • 济南制作网站有哪些软广告经典例子
  • 苏州高端网站建设设计公司哪家好超云seo优化
  • 做外贸b2b免费网站渠道策略的四种方式
  • 网站搭建心得东莞商城网站建设
  • 腾讯云备案 网站名称购物网站网页设计
  • 最好的做法是seo网站优化培训多少价格
  • 番禺网站建设方案网络营销的4p策略
  • 网站建1设公司自媒体运营主要做什么
  • 猪八戒网做网站怎么样便宜的seo网络营销推广
  • 网站域名是啥郑州网站推广优化公司