企业网站建设犇类建筑,18款禁用app软件免费下载,qq空间网页版在线登录入口,大学网站模板下载文件上传和下载 前言文件上传1、以MultipartFile 接口流文件#xff0c;流的名称需要和前台传过来的名称对应上2、获取到文件名称截取后缀3、为了放置文件名重复使用uuid来随机生成id后缀4、判断转存路径中是否有这个文件夹如果没有就创建5、将文件存储到转存的目录中 文件下载… 文件上传和下载 前言文件上传1、以MultipartFile 接口流文件流的名称需要和前台传过来的名称对应上2、获取到文件名称截取后缀3、为了放置文件名重复使用uuid来随机生成id后缀4、判断转存路径中是否有这个文件夹如果没有就创建5、将文件存储到转存的目录中 文件下载1、通过输入流获取到文件2、通过输出流输出文件3、判断文件读取是否完成如果为-1就是读取完成4、读取陈工后写入到输出流并返回5、关闭资源 前言
文件上传是指本地图片、视频、音频等文件上传到服务器上可以供其他用户浏览和下载的过程 文件上传的前提调节 必须将file的流以formdata的形式传参并且必须以post请求提交
文件上传 1、以MultipartFile 接口流文件流的名称需要和前台传过来的名称对应上
2、获取到文件名称截取后缀
3、为了放置文件名重复使用uuid来随机生成id后缀
4、判断转存路径中是否有这个文件夹如果没有就创建
5、将文件存储到转存的目录中
文件下载 1、通过输入流获取到文件
2、通过输出流输出文件
3、判断文件读取是否完成如果为-1就是读取完成
4、读取陈工后写入到输出流并返回
5、关闭资源
package com.example.ruiji_demo.controller;import com.example.ruiji_demo.common.R;
import jakarta.servlet.ServletOutputStream;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.UUID;/*** author jitwxs* date 2024年04月03日 18:17*/
Slf4j
RestController
RequestMapping(/common)
public class CommponContreller {
// 获取转存的地址Value(${reggie.path})private String basePath;// 定义上传文件的接口PostMapping(/upload)public RString upload(MultipartFile file){String originalFilename file.getOriginalFilename();
// 截取后缀String suffix originalFilename.substring(originalFilename.lastIndexOf(.));// 使用uuid重新生成文件名放置文件名称重复String filName UUID.randomUUID().toString()suffix;// 判断目录是否存在如果不存在就创建目录File dir new File(basePath);if(!dir.exists()){dir.mkdir();}try {
// 将临时文件转存到指定位置file.transferTo(new File(basePathfilName));} catch (IOException e){e.printStackTrace();}return R.success(上传成功);}// 定义下载接口GetMapping(/download)public void download(String name, HttpServletResponse response){try{
// 输入流通过输入流读取文件内容FileInputStream fileInputstream new FileInputStream(new File(basePathname));
// 输出流通过输出流将文件写入浏览器在浏览器中展示图片ServletOutputStream 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();}}}