中学网站asp模板建网站源码建站详解

news/2025/9/23 22:40:14/文章来源:
中学网站asp模板,建网站源码建站详解,怎么搭建源码网站,公司flash网站模板文章目录 一、原理分析1.1 请求类型1.2 服务器解析 二、功能实现2.1 创建项目并导入依赖2.2 文件上传功能实现2.2.1 文件上传 Service2.2.2 文件上传 Controller 2.3 文件下载功能实现2.3.1 文件下载 Service2.3.2 文件下载 Controller 2.4 文件上传前端代码(可选)2.4.1 上传文… 文章目录 一、原理分析1.1 请求类型1.2 服务器解析 二、功能实现2.1 创建项目并导入依赖2.2 文件上传功能实现2.2.1 文件上传 Service2.2.2 文件上传 Controller 2.3 文件下载功能实现2.3.1 文件下载 Service2.3.2 文件下载 Controller 2.4 文件上传前端代码(可选)2.4.1 上传文件的 HTML 表单2.4.2 访问前端页面 三、功能测试3.1 测试文件上传3.2 测试文件下载 参考资料 完整案例代码java-demos/spring-boot-demos/spring-boot-file at main · idealzouhu/java-demos (github.com) 一、原理分析 1.1 请求类型 文件上传通常使用 multipart/form-data 类型的 POST 请求。 multipart/form-data用于在表单提交时上传文件的 MIME 类型。它允许将文件和其他表单字段组合在一起发送服务器能识别出每个部分并提取出文件。 文件下载则只是简单的 GET 请求。在 Spring MVC 中返回对象通常是 ResponseEntity 或者 HttpServletResponse 对象。 1.2 服务器解析 现有的 Web 框架都内置了处理文件上传的功能。在 Spring MVC 中 MultipartFile 是用来表示上传的文件服务器会自动解析该文件并进行处理。 MultipartFile 的常用方法有 getName()获取文件在服务器上的文件名可能已经被服务器修改。getOriginalFilename()获取文件在客户端上的原始文件名没有被服务器修改。getContentType()获取文件的内容类型。isEmpty()判断文件是否为空。getSize()获取文件大小字节。getBytes()读取文件内容为字节数组。getInputStream()获取文件内容的输入流。getResource()将文件转换为资源对象。transferTo(File dest)将文件内容传输到指定的目标文件。transferTo(Path dest)将文件内容传输到指定的目标路径 二、功能实现 2.1 创建项目并导入依赖 在 start.springboot.io 创建项目导入以下依赖。 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId /dependency2.2 文件上传功能实现 将文件上传的具体逻辑抽象到一个 FileService 中让 Controller 调用该服务处理上传请求。 2.2.1 文件上传 Service Service public class FileService {/*** 上传文件** param file* return*/public String uploadFile(MultipartFile file) {// 检查文件是否为空if (file.isEmpty()) {return 上传失败因为文件是空的。;}// 获取文件名和保存路径String fileName file.getOriginalFilename();String filePath C:/uploads/; // 自定义文件保存路径File dest new File(filePath fileName);// 确保目录存在if (!dest.getParentFile().exists()) {dest.getParentFile().mkdirs();}// 保存文件try {file.transferTo(dest);return 文件上传成功 fileName;} catch (IOException e) {e.printStackTrace();return 文件上传失败。;}} }2.2.2 文件上传 Controller RequiredArgsConstructor RestController public class FileUploadController {private final FileService fileService;/*** 上传文件自动绑定到 MultipartFile 对象中** param file 上传文件* return*/PostMapping(/upload)public String upload(RequestParam(file) MultipartFile file) {return fileService.uploadFile(file);} }2.3 文件下载功能实现 将文件上传的具体逻辑抽象到一个 FileService 中让 Controller 调用该服务处理上传请求。 2.3.1 文件下载 Service Service public class FileService {/*** 下载文件** 根据文件名构建文件路径并检查文件是否存在如果文件不存在则返回404未找到的响应* 如果文件存在将文件作为资源包装并设置HTTP响应头以提示浏览器下载文件** param fileName 要下载的文件名* return 包含文件资源的响应实体如果文件不存在则为404响应*/public ResponseEntityResource downloadFile(String fileName) {// 构建文件路径String filePath C:/uploads/ fileName;File file new File(filePath);// 检查文件是否存在if (!file.exists()) {// 文件不存在返回404未找到return ResponseEntity.notFound().build();}// 将文件包装为资源Resource resource new FileSystemResource(file);// 创建HTTP响应头用于指定文件下载HttpHeaders headers new HttpHeaders();headers.add(HttpHeaders.CONTENT_DISPOSITION, attachment; filename\ fileName \);// 返回包含文件资源和响应头的响应实体return ResponseEntity.ok().headers(headers).body(resource);} }2.3.2 文件下载 Controller RequiredArgsConstructor RestController public class FileDownloadController {private final FileService fileService;GetMapping(/download)public ResponseEntityResource downloadFile(RequestParam String fileName) {return fileService.downloadFile(fileName);} }2.4 文件上传前端代码(可选) 该部分代码为 [2.2 文件上传功能实现](###2.2 文件上传功能实现) 的前端实现。 2.4.1 上传文件的 HTML 表单 创建 upload.html 文件放在 src/main/resources/static 目录下。 !DOCTYPE html html headtitleFile Upload/title /head bodyh2Upload a file/h2form iduploadFormlabel forfileChoose file to upload:/labelinput typefile idfile namefile required /brbrbutton typesubmitUpload/button /formscriptdocument.getElementById(uploadForm).addEventListener(submit, function(event) {event.preventDefault(); // 防止表单的默认提交行为const fileInput document.getElementById(file);const formData new FormData();formData.append(file, fileInput.files[0]);// 使用 Fetch API 发送文件到后端fetch(/upload, {method: POST,body: formData}).then(response response.text()).then(data alert(File uploaded successfully: data)).catch(error console.error(Error uploading file:, error));}); /script/body /html其中表单中 namefile 指定了文件在请求体中的键后端服务器将通过这个名称来获取文件数据。 2.4.2 访问前端页面 进入前端页面的 URL 为 http://localhost:8080/upload.html 三、功能测试 3.1 测试文件上传 使用 Postman 发送 POST 请求到 /upload并选择一个文件进行上传。示例 URL 为 http://localhost:8080/upload 3.2 测试文件下载 使用 Postman 或 HTML 表单发送 POST 请求下载指定的文件。 示例 URL 为 http://localhost:8080/download?fileNamedemo.txt 参考资料 Java实战Spring Boot 实现文件上传下载功能_springboot 文件下载-CSDN博客 Spring Boot文件上传与下载讲解与实战超详细 附源码-阿里云开发者社区 (aliyun.com)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/914120.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

软工第一次编程

Github地址链接:这个作业属于哪个课程 https://edu.cnblogs.com/campus/gdgy/Class34Grade23ComputerScience这个作业要求在哪里 https://edu.cnblogs.com/campus/gdgy/Class34Grade23ComputerScience/homework/13477…

jpegdump

https://blog.didierstevens.com/2018/01/29/new-tool-jpegdump-py/ https://blog.didierstevens.com/2022/09/02/update-jpegdump-py-version-0-0-10/Manual:The JPEG file format defines a JPEG file as a sequence…

浙江建设工程考试网站企业网站备案怎么做

码个蛋(codeegg)第 624 次推文作者:xiaoxiunique博客:https://juejin.im/post/5cd2ea425188254459335583做开发的我们肯定少不了跟网络数据打交道,我们都知道,我们进行网络请求,无论成功还是失败,后台都会给…

网站运营工作具体做啥政务服务网站建设汇报

之前了解了: 创建Django项目 数据库 模板 表格提交 admin管理页面 上面的功能模块允许我们做出一个具有互动性的站点,但无法验证用户的身份。我们这次了解用户验证部分。通过用户验证,我们可以根据用户的身份,提供不同的服务。 …

东莞市品牌网站建设道滘仿做网站

当我们须要调用系统的命令的时候,最先考虑的os模块。用os.system()和os.popen()来进行操作。可是这两个命令过于简单,不能完毕一些复杂的操作,如给执行的命令提供输入或者读取命令的输出,推断该命令的执行状态,管理多个…

沈阳制作公司网站和app自适应网站m域名必须做301

linux入门-常用命令的使用对于命令行的接触,最开始是window下的cmd,比如查看电脑ip地址、进入某一个文件夹、下载npm模块等等window cmdwindow ipconfig对于习惯了window桌面操作系统的用户来说,其实是比较少接触到命令行的,而在l…

设计人才网站做百度移动网站优

谈到索引,大家并不陌生。索引本身是一种数据结构,存在的目的主要是为了缩短数据检索的时间,最大程度减少磁盘 IO。任何有数据的场景几乎都有索引,比如手机通讯录、文件系统(ext4xfsfs)、数据库系统(MySQLOracle)。数据库系统和文件…

莱芜网络公司网站网站不备案打不开

青少年编程Python编程等级考试二级真题解析(选择题+判断题+编程题) 2023年9月 一、选择题(共25题,共50分) 以下代码运行结果是?( ) A. 宸宸 B. 杭杭 C. 玉玉 D. 州州 答案选:A 考点分析:考察python 列表操作 jxw=yyh[2][0],jxw的值是“拱宸桥”,jxw[1]的值是“宸”…

网上做衣服的网站关于做网站的书

1.农作物遥感分类 1.1 利用多时相环境星 CCD 数据作物分类识别实验 采用支持向量机分类器进行基于象素遥感影像分类方法。在分类过程中,分别对不同日期的单景环境星数据以及不同日期环境星数据的组合进行分类,以评价环境星在作物分类中的应用潜力&#x…

从软件开发公司到用户体验设计公司:如何实现全链路数字化产品服务

从软件开发公司到用户体验设计公司:如何实现全链路数字化产品服务在过去十年里,很多企业数字化项目的核心诉求是“软件要能跑”。因此,软件开发公司的主要价值在于实现业务逻辑与技术落地。然而,随着竞争加剧与用户…

欧派网站谁做的河北城乡建设官网站

我需要使用Guzzle检查数据库中的很多项目.例如,项目数量为2000-5000.将其全部加载到单个数组中太多了,因此我想将其分成多个块:SELECT * FROM items LIMIT100.当最后一个项目发送到Guzzle时,则请求下一个100个项目.在“已满”处理程序中,我应该知道哪个项目得到了响…

9.23总结

今天是9.23,今天星期二,上午上了一上午的工程实训课,我们了解了激光的种类和雕刻的技术,并且自己动手雕刻了一些东西。体验到了自己动手的快乐。中午写了一会儿代码,然后睡了午觉,到下午该上英语课的时候,才睡醒…

日志|力扣|不同路径|最小路径和|动态规划|Javase|IO|File|Javaweb

力扣 62.不同路径思路:自顶向下,dp[i][j]表示(0,0)->(i,j)的路径和,dp数组就是当前格子可走的路径数也就是左边和右边的dp[i][j] = dp[i-1][j] + dp[i][j-1];,迭代填满二维数组,最后一个就是答案。点击查看…

如何建立 5 μm 精度的视觉检测?不仅仅是相机的事

如何建立 5 μm 精度的视觉检测?不仅仅是相机的事pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas"…

网站服务名词解释wordpress 用户 新增

PyTorch深度学习总结 第一章 Pytorch中张量(Tensor)的生成 文章目录 PyTorch深度学习总结一、什么是PyTorch?二、张量(Tensor)1、张量的数据类型2、张量生成和信息获取 总结 一、什么是PyTorch? PyTorch是一个开源的深度学习框架,基于Python…

网站建设类型有哪些小程序定制开发多少费用

前言 element提供的的message消息提示用确实方便直接代码就搞定。但是在特定的场景并不适用 点击某一个点位提示用户点击了或者websocket推送提示用户来信息了(这种提示用户场景) 如果有很多推送信息来,或者用户一直点击。这是屏幕会一直弹…

网站做受网站网站型建设模板

这是DevOps系列的第六节,我们开始安装DockerDebian 上安装可以基于最新debian10的发行版,我现在还用着debian9,不过随后,我会发出Windows / macOs / Ubuntu的参考。安装如果您已经是root用户,则无需使用sudo1、卸载任何…

单页式网站 seo深圳平台推广

1、OpenGL 基础知识 1.1 OpenGL 简介 OpenGL(Open Graphics Library)是图形领域的工业标准,是一套跨编程语言、跨平台、专业的图形编程(软件)接口。它用于二维、三维图像,是一个功能强大,调用…

设计类型的网站家装设计师用什么软件画图

数据分类 数据分为:静态数据、动态数据。 静态数据 静态数据是指一些永久性的数据。一般是以文件的形式存储在硬盘上,比如文档、照片、视频等文件。 电脑关闭后,静态数据仍然还在。只要不主动删掉数据或者硬盘没损坏,这些数据…

做评测好的视频网站有哪些用模版做网站的好处和坏处

操作环境: MATLAB 2022a 1、算法描述 1. DS-CDMA系统 DS-CDMA (Direct Sequence Code Division Multiple Access) 是一种多址接入技术,其基本思想是使用伪随机码序列来调制发送信号。DS-CDMA的特点是所有用户在同一频率上同时发送和接收信息&#xf…