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

苏州网站建设新手永灿网站建设公司

苏州网站建设新手,永灿网站建设公司,网架报价清单表格,网站备案都审核什么文章目录 1、概述2、后端实现#xff08;Spring Boot#xff09;3、前端实现#xff08;Vue#xff09;4、总结 1、概述 ​ 在现代Web应用开发中#xff0c;文件的导入导出是一个常见的需求。Spring Boot作为后端开发的强大框架#xff0c;搭配前端框架Vue#xff0c;可… 文章目录 1、概述2、后端实现Spring Boot3、前端实现Vue4、总结 1、概述 ​ 在现代Web应用开发中文件的导入导出是一个常见的需求。Spring Boot作为后端开发的强大框架搭配前端框架Vue可以轻松实现这一功能。本文将介绍如何使用Spring Boot和Vue来实现文件的导入导出。在本方案中Spring Boot将作为后端服务来处理文件的存储和读取逻辑而Vue将作为前端界面与用户进行交互。我们将使用Spring Boot的MultipartFile来接收前端上传的文件并使用ResponseEntity来将文件发送给前端用户进行下载。 2、后端实现Spring Boot 环境搭建 首先确保你已经安装了Java开发环境和Maven或Gradle。然后创建一个新的Spring Boot项目并添加以下依赖到pom.xml或build.gradle文件中 !-- pom.xml -- dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId /dependency dependencygroupIdcommons-io/groupIdartifactIdcommons-io/artifactIdversion2.8.0/version /dependency文件上传接口 创建一个FileController来处理文件上传请求。这里我们使用MultipartFile来接收上传的文件并将其保存到服务器的指定目录 RestController public class FileController {private static final String UPLOADED_FOLDER uploaded/;PostMapping(/upload)public ResponseEntityString uploadFile(RequestParam(file) MultipartFile file) {if (file.isEmpty()) {return ResponseEntity.badRequest().body(File is empty);}try {String fileName file.getOriginalFilename();Path targetLocation Paths.get(UPLOADED_FOLDER).resolve(fileName);Files.copy(file.getInputStream(), targetLocation, StandardCopyOption.REPLACE_EXISTING);return ResponseEntity.ok(File uploaded successfully: fileName);} catch (IOException e) {e.printStackTrace();return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(Failed to upload file);}}// 其他必要的方法如文件存储路径配置等 }文件下载接口 在同一个FileController中添加一个用于文件下载的方法。这里我们使用FileSystemResource来定位文件并将其作为HTTP响应的主体发送给客户端 GetMapping(/download/{filename:.}) public ResponseEntityResource downloadFile(PathVariable String filename) {String folder uploaded/;Path filePath Paths.get(folder).resolve(filename);Resource resource new FileSystemResource(filePath);try {if (!resource.exists() || !Files.isReadable(resource.getFile().toPath())) {return ResponseEntity.notFound().build();}} catch (IOException e) {return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(Could not read file);}return ResponseEntity.ok().contentType(MediaType.parseMediaType(application/octet-stream)).header(HttpHeaders.CONTENT_DISPOSITION, attachment; filename\ filename \).body(resource); }3、前端实现Vue 环境搭建 使用Vue CLI创建一个新的Vue项目并安装axios用于发送HTTP请求 vue create my-vue-app cd my-vue-app vue add axios文件上传 在Vue组件中添加一个表单用于文件上传并使用axios发送请求到后端的文件上传接口。同时我们添加了文件选择后的事件处理和上传前的预处理 templatedivh1File Upload/h1form submit.preventuploadFileinput typefile changeonFileChange /button typesubmitUpload/button/form/div /templatescript import axios from axios;export default {data() {return {selectedFile: null,};},methods: {onFileChange(event) {this.selectedFile event.target.files[0];},async uploadFile() {if (this.selectedFile) {const formData new FormData();formData.append(file, this.selectedFile);try {const response await axios.post(/upload, formData, {headers: {Content-Type: multipart/form-data,},});console.log(response.data);// 处理上传成功后的逻辑如更新文件列表等} catch (error) {console.error(error);// 处理上传失败的逻辑}}},}, }; /script文件下载 在Vue组件中添加一个链接或按钮当用户点击时调用axios发送请求到后端的文件下载接口并处理响应以触发文件下载 templatediv!-- ... --a :hrefdownloadUrl downloadDownload File/a!-- ... --/div /templatescript import axios from axios;export default {data() {return {downloadUrl: null,};},methods: {async downloadFile(filename) {const response await axios({method: GET,url: /download/${filename},responseType: blob, // 重要});const url window.URL.createObjectURL(new Blob([response.data]));const link document.createElement(a);link.href url;link.setAttribute(download, filename);document.body.appendChild(link);link.click();document.body.removeChild(link);window.URL.revokeObjectURL(url);},},watch: {// 假设filename是从某个状态或props中获取的文件名filename(newFilename) {if (newFilename) {this.downloadUrl /download/${newFilename};}},}, }; /script4、总结 ​ 通过上述步骤我们详细介绍了如何使用Spring Boot和Vue实现文件的导入导出功能。后端Spring Boot提供了文件上传和下载的RESTful API而前端Vue则提供了用户友好的界面和交互逻辑。这种前后端分离的架构不仅使得开发过程更加清晰也提高了应用的可维护性和可扩展性。此外通过使用axios和FormData我们能够轻松处理HTTP请求和文件数据的传输而EasyExcel等库的使用则进一步简化了文件处理的复杂性。
http://www.pierceye.com/news/846900/

相关文章:

  • 天津网站免费制作专门做教育的视频网站
  • 深圳做网站的公司 cheungdom贵阳软件开发公司在哪里
  • 铜川做网站的公司电话超链接对做网站重要吗
  • 东莞市公租房申请网站-建设网厦门公司建站
  • 可以直接进入网站的代码cms网站后台模版
  • 文章修改网站网站建设高端设计
  • wap手机网站开发贵阳网页设计培训学校
  • e建网站天津建设工程计价网站
  • 太原好的网站制作排名网站数据怎么做接口供小程序调用
  • 广西省住房和城乡建设厅网站网络课程网站建设
  • 如何把网站转网站这几年做那些网站致富
  • 网站开发运维网页制作设计多少费用
  • 网站开发技术协议上海百度推广
  • 粤icp备网站建设 中企动力广州网站开发是什
  • 佛山+网站建设开发系统 平台
  • 运输房产网站建设健康南充app
  • 营销型网站推广公司最好的app开发公司
  • 做网站硬件江西省城乡建设陪训网官方网站
  • 深圳做小程序网站开发短视频剪辑在哪里学
  • 集约化网站建设广州网站制作
  • 如何做网站链接wordpress 视
  • 北京专业建设网站公司做网站那几步
  • 网站版式布局宁波百度推广优化
  • 邵阳专业网站设计网站建设打造营销型网站
  • 网站内部链接的策略成都装修公司网站建设
  • 网页制作与网站建设答案联合易网北京网站建设公司怎么样
  • 虚拟主机安装网站wordpress xss
  • 营销网站的优点网上服务大厅用户登录
  • 阿里云网站建设服务费会计科目网站域名改了帝国cms
  • 塑业东莞网站建设网站建设的课件