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

电子商务网站建设复习题建网站必须要服务器吗

电子商务网站建设复习题,建网站必须要服务器吗,网站开发建设流程图,电子商务网站建设报告目录主要流程编写接受文件上传的Controller编写文件操作结果类编写文件操作类知识总结参考主要流程 在配置文件中添加文件操作的配置#xff0c;示例#xff1a; storage:image:#保存位置save-path: D:\classdesign-photo\images\#允许上传的类型allow-type:- jpg- png编写… 目录主要流程编写接受文件上传的Controller编写文件操作结果类编写文件操作类知识总结参考主要流程 在配置文件中添加文件操作的配置示例 storage:image:#保存位置save-path: D:\classdesign-photo\images\#允许上传的类型allow-type:- jpg- png编写文件操作配置类示例 /*** 图片操作配置类*/ Configuration //用于自动获取配置文件中storage.image中的字段 ConfigurationProperties(storage.image) Data public class ImageConfig {private String savePath;private ListString allowType; } 编写接受文件上传的Controller方法并带上参数MultipartFile file如 public T upload(MultipartFile file) throws IOException {...}计算文件的字节数组的MD5的值查找数据库中是否有重复的MD5值防止重复上传相同文件可以使用Hutool计算MD5后面有具体实现保存文件到对应文件夹并往数据库中添加一条记录数据库只存储文件的路径、MD5值、上传用户等信息 编写接受文件上传的Controller 在SpringBoot接受文件比较简单只需要在Controller方法上加上参数MultipartFile file即可获取前端上传的文件 PostMapping(/upload)public ResponseFileHandlerResult upload(MultipartFile image) throws IOException {//自定义的通用回复类ResponseFileHandlerResult res new Response();//自定义文件保存结果通用类FileHandlerResult saveRes fileManager.saveImage(image);if(saveRes.getCode()-1){//保存失败res.fail(saveRes.getDesc());return res;}else if(saveRes.getCode() 0){//图片已存在res.setDesc(saveRes.getDesc());res.setData(saveRes);}res.success(saveRes);return res;}编写文件操作结果类 因为保存文件的过程中可能出现成功、失败、异常三种情况因此编写一个通用的文件操作结果类来返回信息 /*** 文件操作结果*/ Data public class FileHandlerResult{/*** 状态码成功1失败-1其他0如图片已存在*/private int code;private String md5;//文件字节数组的md5用于防止重复上传private String path;//文件存储路径private String desc;//结果状态描述public void success(String md5, String path){this.code 1;this.md5 md5;this.path path;this.desc 保存文件成功;}public void alreadyExisted(String md5, String path){this.code 0;this.md5 md5;this.path path;this.desc 文件已存在请勿重复保存;}public void fail(String desc){this.code -1;this.desc desc;}} 编写文件操作类 此类中通过文件后缀来判断文件类型的方式并不安全文件后缀可以伪造应通过魔数判断可参考Java 通过魔数判断上传文件的类型 /*** 文件操作类* 用于文件的基本*/ Component public class FileManagerT extends BaseEntity {AutowiredBaseFileDaoT dao;AutowiredImageConfig imageConfig;//一开始编写的文件配置类/**** param uploadFile 从控制器接收到的文件* return*/public FileHandlerResult saveImage(MultipartFile uploadFile) {//获取文件类型根据文件后缀判断文件类型的方式不安全String contentType uploadFile.getContentType();String type contentType.substring(contentType.indexOf(/)1);//文件操作返回结果FileHandlerResult handlerResult new FileHandlerResult();if(!imageConfig.getAllowType().contains(type)){//判断是否为允许的文件类型handlerResult.fail(保存失败仅支持imageConfig.getAllowType());return handlerResult;}try{File file new File(imageConfig.getSavePath());if(!file.exists()){//创建文件夹,会自动创建父文件夹file.mkdirs();//创建目录说明文件String descFilePath new File(imageConfig.getSavePath()).getParentFile().toString()\\目录说明.txt;try(BufferedWriter writer new BufferedWriter(new OutputStreamWriter(new FileOutputStream(descFilePath)))){writer.write(此目录为保存 xxx 项目文件的目录);}}byte[] bytes uploadFile.getBytes();//图片字节数组的md5String md5 SecureUtil.md5(uploadFile.getInputStream());ListT list dao.getByMd5(md5);//图片保存路径String path imageConfig.getSavePath() md5.type;if(list.size() ! 0){//图片已存在handlerResult.alreadyExisted(md5, path);return handlerResult;}try(BufferedOutputStream os new BufferedOutputStream(new FileOutputStream(path))){os.write(bytes);}handlerResult.success(md5, path);return handlerResult;}catch(FileNotFoundException e){e.printStackTrace();handlerResult.fail(e.getMessage());return handlerResult;}catch (IOException e){e.printStackTrace();handlerResult.fail(e.getMessage());return handlerResult;}} }知识总结 SpringBoot 使用MultipartFile类型的参数接受前端上传的文件通过计算文件字节数组的MD5值可用于防止文件重复上传通过File类的创建目录时 mkdir() 创建目录必须确保路径的父目录已存在 mkdirs()如果父文件夹不存在时并且最后一级子文件夹不存在它就自动新建所有路经里写的文件夹如果父文件夹存在它就直接在已经存在的父文件夹下新建子文件夹。 参考 MultipartFile 类Java 通过魔数判断上传文件的类型SpringBoot实现多文件上传java File类mkdir()与mkdirs()方法的区别
http://www.zqtcl.cn/news/791914/

相关文章:

  • 网络服务机构的网站广东省住房及建设厅官方网站
  • 工业设计灵感网站商务网页设计与制作微课版答案
  • 如何引用网站上的资料做文献学历提升的正规机构
  • 如何上传wordpress程序聊城网站优化案例
  • 婚纱网站设计目标无代码制作网页
  • 温州网站提升排名打开搜索引擎
  • 企业市场网络推广方案优化方案答案
  • 茂名网站建设咨询wordpress官网上的主题收费吗
  • 如何自己开发网站WordPress修改前端
  • 哪些网站用黑体做的谁给个网站啊急急急2021
  • aspnet网站开发选择题怎样建设网站是什么样的
  • 专业建站公司电话咨询做暧小视频免费视频在线观看网站
  • 移动软件开发专业seo快排技术教程
  • 怎么推广自己的网站wordpress 管理员
  • 百度权重查询爱站网北京市官方网站
  • 网站代码图片如何查看一个网站流量
  • 上海网站建设公司联系方式自己做的网站主页打开速度
  • 地方网站 源码中国建设银行网站快速查询
  • 有做网站需求的客户网站建设方案就玄苏州久远网络
  • 安徽网站建设方案开发i深圳谁开发的
  • 仿站 做网站seo内容优化是什么
  • 怎么进行网站优化wordpress wampserver
  • 德州市经济开发区建设局网站360免费建站怎么进不去
  • 免费黄页营销网站用wordpress写公司官网
  • 网站建立的研究方案注册公司需要怎么注册
  • 云服务器怎么做网站右26cm
  • php网站的部署老虎淘客系统可以做网站吗
  • 建设一个网站的技术可行性研究怎么找网红合作卖东西
  • 深圳网站设计师培训学校大气全屏通用企业网站整站源码
  • 献县网站建设价格动漫网站设计方案