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

资阳市建设局网站怎样接做网站的活

资阳市建设局网站,怎样接做网站的活,怎么查wordpress主题,华强北商城官网入口Vue的APP实现下载文件功能#xff0c;并将文件保存到手机中 文字说明后台核心代码前台核心代码运行截图项目链接 文字说明 本文介绍Vue实现的APP#xff0c;将文件下载并保存到手机中#xff0c;为系统提供导出功能#xff1b;同时支持导入#xff0c;即选择本地的文件后并将文件保存到手机中 文字说明后台核心代码前台核心代码运行截图项目链接 文字说明 本文介绍Vue实现的APP将文件下载并保存到手机中为系统提供导出功能同时支持导入即选择本地的文件后获取文件内容并将其上传到服务器中也可选择对上传的文件内容进行解析为系统提供导入功能 附带讲解视频主要实验Vue的5App的文件上传和下载功能 后台核心代码 后端控制器代码上传接口 package com.boot.controller;import com.boot.entity.Result; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.CrossOrigin; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile;import java.io.InputStream;/*** author bbyh* date 2024/6/4 22:58*/ RestController Slf4j CrossOrigin(origins *, maxAge 3600) public class UploadController {PostMapping(/upload)public Result upload(RequestBody MultipartFile file) {try {InputStream inputStream file.getInputStream();byte[] buf new byte[inputStream.available()];int read inputStream.read(buf);String fileContent new String(buf, 0, read);log.info(文件名称{}文件内容{}, file.getOriginalFilename(), fileContent);return Result.success(文件上传成功, fileContent);} catch (Exception e) {log.error(e.getMessage(), e);return Result.error(文件上传接口接口服务出错, null);}} }下载接口 package com.boot.controller;import com.boot.entity.Result; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.CrossOrigin; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RestController;import javax.servlet.http.HttpServletResponse; import java.io.InputStream; import java.net.URLEncoder; import java.nio.file.Files; import java.nio.file.Paths;/*** author bbyh* date 2024/6/4 22:45*/ RestController Slf4j CrossOrigin(origins *, maxAge 3600) public class DownloadController {Value(${file.path})private String filePath;GetMapping(/download/{fileName})public void download(PathVariable String fileName, HttpServletResponse response) {try {response.setContentType(application/octet-stream);response.addHeader(Content-Disposition, attachment;filename URLEncoder.encode(fileName, UTF-8));try (InputStream inputStream Files.newInputStream(Paths.get(filePath fileName))) {byte[] buf new byte[inputStream.available()];int read inputStream.read(buf);response.getOutputStream().write(buf, 0, read);}} catch (Exception e) {log.error(e.getMessage(), e);response.reset();Result.writeResult(response, 文件下载接口接口服务出错 e.getMessage());}} }前台核心代码 页面主要代码 templatediv styledisplay: flex; justify-content: center; align-items: center; height: 100px; width: 100%el-button typeprimary clickselectFile()选择文件上传/el-buttonel-button typedanger clickopenDownloadDialog()下载文件/el-buttoninput typefile styledisplay: none changeuploadFile($event) refuploadFileRef/divel-dialog title文件下载 width60% v-modeldata.dialogel-input v-modeldata.fileName placeholder请输入下载文件名/template #footerspan classdialog-footerel-button clickdata.dialog false取消/el-buttonel-button typeprimary clickdownloadFile确认下载/el-button/span/template/el-dialog /templatescript setup import {downloadFileToLocal, message, postRequest} from ./util; import {reactive, ref} from vue;function uploadFile(event) {if (event.target.files.length 0) {message(warning, 本次未选择文件);return;}const formData new FormData();const file event.target.files[0];formData.append(file, file, file.name);postRequest(/upload, formData).then((res) {if (res.data.code 200) {message(success, res.data.data);} else if (res.data.code 500) {message(error, res.data.msg);}}); }const uploadFileRef ref();async function selectFile() {uploadFileRef.value.click(); }const data reactive({fileName: undefined,dialog: false, });function openDownloadDialog() {data.fileName undefined;data.dialog true; }function downloadFile() {downloadFileToLocal(/download/ data.fileName, data.fileName); } /scriptstyle * {padding: 0;margin: 0;box-sizing: border-box; } /style工具类代码 import axios from axios; import {ElMessage} from element-plus;const baseUrl http://127.0.0.1:5000;export const downloadFileToLocal (href, filename) {const eleLink document.createElement(a);eleLink.download filename;eleLink.style.display none;eleLink.href baseUrl href;document.body.appendChild(eleLink);eleLink.click();document.body.removeChild(eleLink); }export function message(type, msg) {ElMessage({message: msg,type: type,center: true,showClose: true,}) }export const postRequest (url, data) {return axios({method: post,url: baseUrl url,data: data,}) }运行截图 页面运行效果 项目链接 VueApp上传下载文件
http://www.hkea.cn/news/14462681/

相关文章:

  • 保健食品东莞网站建设网络营销有哪些方式
  • 濮阳微信网站开发桂林企业建站
  • 什么网站可以直接做word文档响应式网站模板是什么
  • 关键词挖掘查询工具爱站网医院网站建设案例
  • 网站是哪家公司开发的永嘉网站制作哪家好
  • html5 微信网站主流开发技术标准优秀网站架构
  • 电商网站 建设步骤漳州市住房与城乡建设部网站
  • 网站联系方式修改织梦济南网站运营公司
  • 做网站好还是网页好末备案网站如何做cdn
  • 太原零元网站建设包装设计报价明细
  • 外国做的福利小视频在线观看网站58同城推广怎么做
  • 自己做应用的网站南宁百度seo价格
  • 网站收录减少湖南住房和城乡建设网门户网站
  • 河南县网站建设公司动漫设计专业就业方向和前景
  • soho外贸网站建设怎么设立网站
  • 模板和网站是一体的吗计算机论文8000到10000字
  • 元谋县住房和城乡建设局网站怎么自己制作小程序商城
  • 非洲用什么网站做采购什么网站做详情页好
  • 西双版纳网站开发临沂百度推广多少钱
  • 网站字体加载不出来怎么办建网站知识
  • 江阴网站制作设计免费单页网站在线制作
  • 建一网站要多少钱网店美工岗位要求
  • 在国外做热情网站的风险杭州网站建设是什么
  • 鸿鹄网站建设wordpress自定义页面引用
  • 网站大图轮播android编程开发
  • 站内seo怎么做设计网站属于什么专业
  • 网站建设自己能做吗中华住房和城乡建设厅网站
  • 做网站很忙吗自己编辑网站怎么做的
  • 1717做网站seo怎么做
  • 网上那些彩票网站可以自己做吗网站的优化