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

做网站的价格 外贸h5商城模板

做网站的价格 外贸,h5商城模板,做网站把自己做死,wordpress社群模板文件上传和下载是Web开发中非常基础的功能#xff0c;但在实际开发中#xff0c;我们经常需要实时显示文件上传或下载的进度。这篇文章将介绍如何使用Springboot实现文件上传和下载#xff0c;并为其添加实时进度条的功能。 文件上传 添加Maven依赖项 首先#xff0c;我…文件上传和下载是Web开发中非常基础的功能但在实际开发中我们经常需要实时显示文件上传或下载的进度。这篇文章将介绍如何使用Springboot实现文件上传和下载并为其添加实时进度条的功能。 文件上传 添加Maven依赖项 首先我们需要添加以下Maven依赖项 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId /dependencydependencygroupIdcommons-fileupload/groupIdartifactIdcommons-fileupload/artifactIdversion1.3.3/version /dependency其中spring-boot-starter-web是Spring Boot提供的用于构建Web应用程序的依赖项之一commons-fileupload是一个流行的Java文件上传库。 创建HTML表单 接下来我们需要创建一个HTML表单来提交文件。在这个表单中我们可以使用元素来选择要上传的文件并使用元素来提交表单。 !DOCTYPE html html langen headmeta charsetUTF-8titleFile Upload/title /head bodyform action/upload methodpost enctypemultipart/form-datainput typefile namefile/br/input typesubmit valueUpload//form /body /html在这个表单中我们将表单的action属性设置为/upload这是我们将要处理上传请求的URL。 实现文件上传 在Springboot中可以使用org.springframework.web.multipart.MultipartFile类来处理上传的文件。我们可以编写一个Controller来接收并处理上传的文件 RestController public class UploadController {PostMapping(/upload)public String upload(RequestParam(file) MultipartFile file) throws IOException {// do something with the filereturn success;} }在上面的代码中我们使用RequestParam注解来指定文件上传的参数名并将文件保存到磁盘或者进行其他操作。最后我们返回一个简单的字符串作为响应内容。 添加进度条 为了实现上传进度条功能我们需要使用JavaScript和Ajax来实现。具体来说我们可以使用XMLHttpRequest对象来发送异步请求并在上传过程中实时更新进度条。 !DOCTYPE html html langen headmeta charsetUTF-8titleFile Upload/titlescript srchttps://code.jquery.com/jquery-3.5.1.min.js/scriptscript$(function () {$(form).submit(function (event) {event.preventDefault();var formData new FormData($(this)[0]);$.ajax({xhr: function () {var xhr new window.XMLHttpRequest();xhr.upload.addEventListener(progress, function (evt) {if (evt.lengthComputable) {var percentComplete evt.loaded / evt.total;console.log(percentComplete);$(#progress).css(width, percentComplete * 100 %);}}, false);xhr.addEventListener(progress, function (evt) {if (evt.lengthComputable) {var percentComplete evt.loaded / evt.total;console.log(percentComplete);$(#progress).css(width, percentComplete * 100 %);}}, false);return xhr;},type: POST,url: /upload,data: formData,processData: false,contentType: false,success: function (data) {alert(Upload complete!);}});});});/script /head body forminput typefile namefile/br/button typesubmitUpload/button /form div stylebackground-color: #ddd; height: 20px; width: 0%; idprogress/div /body /html在上面的代码中我们使用了jQuery来发送XHR请求并在上传过程中更新进度条。具体来说我们为xhr.upload和xhr对象添加了progress事件处理程序以便在上传文件时实时更新进度条。 文件下载 实现文件下载 要实现文件下载我们需要编写一个Controller来处理下载请求并使用org.springframework.core.io.Resource类将文件作为响应内容返回给客户端。 RestController public class DownloadController {GetMapping(/download)public ResponseEntityResource download() throws IOException {Resource file new FileSystemResource(/path/to/file);HttpHeaders headers new HttpHeaders();headers.add(HttpHeaders.CONTENT_DISPOSITION, attachment; filename file.getFilename());return ResponseEntity.ok().headers(headers).contentLength(file.contentLength()).contentType(MediaType.parseMediaType(application/octet-stream)).body(new InputStreamResource(file.getInputStream()));} }在上面的代码中我们使用GetMapping注解来指定处理下载请求的URL并使用org.springframework.core.io.Resource类来读取文件内容。最后我们将文件作为响应内容返回给客户端。 添加进度条 添加下载进度条功能与上传进度条类似我们仍然可以使用XMLHttpRequest对象和JavaScript来实现。具体来说我们可以向Controller发送一个异步请求并在下载过程中实时更新进度条。 !DOCTYPE html html langen headmeta charsetUTF-8titleFile Download/titlescript srchttps://code.jquery.com/jquery-3.5.1.min.js/scriptscript$(function () {$(#download).click(function (event) {event.preventDefault();var xhr new XMLHttpRequest();xhr.open(GET, /download, true);xhr.responseType blob;xhr.onload function () {if (xhr.status 200) {var contentType xhr.getResponseHeader(Content-Type);var contentDisposition xhr.getResponseHeader(Content-Disposition);var blob new Blob([xhr.response], {type: contentType});var link document.createElement(a);link.href window.URL.createObjectURL(blob);link.download contentDisposition.split()[1];link.click();}};xhr.addEventListener(progress, function (evt) {if (evt.lengthComputable) {var percentComplete evt.loaded / evt.total;console.log(percentComplete);$(#progress).css(width, percentComplete * 100 %);}}, false);xhr.send();});});/script /head body button iddownloadDownload/button div stylebackground-color: #ddd; height: 20px; width: 0%; idprogress/div /body /html在上面的代码中我们使用了jQuery来发送XHR请求并在下载过程中更新进度条。具体来说我们为xhr对象添加了progress事件处理程序以便在文件下载时实时更新进度条。 结论 本文介绍了如何使用Springboot实现文件上传和下载并为其添加实时进度条的功能。在上传和下载文件时我们使用了XMLHttpRequest对象和JavaScript来实现实时进度条。这个功能可以帮助用户更好地了解文件上传和下载的进度提升用户体验。
http://www.w-s-a.com/news/658049/

相关文章:

  • 做网站运营的职业生涯规划wordpress分类显示图片
  • 网站建设与制作总结沈阳百度广告
  • 网站管理系统 手机会员制网站搭建wordpress
  • 做物品租赁网站清新wordpress主题
  • 优秀专题网站家居企业网站建设市场
  • 中山市有什么网站推广wordpress轻应用主机
  • 洗头竖鞋带名片改良授权做网站不贵整个世界
  • 设计电子商务网站建设方案微信如何开发自己的小程序
  • 建设网站公司哪里好相关的热搜问题解决方案做网站要看什么书
  • 网站建设重要性黄岐建网站
  • 做网站电销《电子商务网站建设》精品课
  • 地方商城网站海外网站推广方法
  • 乐山 网站建设安阳给商家做网站推广
  • 网站空间一般多大邢台网站建设有哪些
  • h5网站开发工具有哪些wordpress清空post表
  • 公司开网站干嘛怎么制作一个免费的网站模板
  • 群晖wordpress搭建网站网站建设及管理
  • 中山企业网站建设公司抖音代运营合作模式
  • 南通营销网站开发做网站页面多少钱
  • 桂林生活网官方网站云主机和云电脑的区别
  • 内部网络网站怎么做vue做单页面网站
  • 如何建立网站教程wordpress粘帖图片
  • 广东网站备案要多久网站开发 pdf 文字版
  • 学校网站方案帮别人做钓鱼网站吗
  • 如何加强网站建设和信息宣传wordpress 搜索提示
  • 灰色网站怎么做php yaf 网站开发框架
  • 浙江建设网站首页提供做网站公司有哪些
  • 建公司网站报价公司seo是什么级别
  • 可信赖的武进网站建设中山网站建设方案
  • 网站设计方面有什么公司运动鞋网站建设目的