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

wordpress 站点维护深圳关键词快速排名

wordpress 站点维护,深圳关键词快速排名,预装wordpress云主机,网站是怎么优化的说到文件上传和下载#xff0c;相信每个开发者都有或多或少的接触过文件上传的功能吧#xff0c;文件上传和下载是我们在学习计算机网络应用常见的一个功能#xff0c;主要涉及到用户和服务器之间的数据传输。 我们来对文件上传和下载功能的进行相关概述吧#xff01; 文…说到文件上传和下载相信每个开发者都有或多或少的接触过文件上传的功能吧文件上传和下载是我们在学习计算机网络应用常见的一个功能主要涉及到用户和服务器之间的数据传输。 我们来对文件上传和下载功能的进行相关概述吧 文件上传 定义文件上传是指用户将本地计算机上的文件通过网络传输到服务器的过程。用户通常通过网页表单选择文件并提交服务器接收并存储该文件。 过程 用户选择文件用户在网页上选择要上传的文件通常通过一个文件输入框input typefile。表单提交用户点击提交按钮浏览器将文件和其他表单数据一起发送到服务器。HTTP请求浏览器发起一个HTTP POST请求包含文件数据和其他表单字段。服务器接收文件 服务器接收到请求后解析请求体中的文件数据。服务器将文件存储在指定的目录中。 反馈结果服务器处理完上传后通常会返回一个响应告知用户上传是否成功。 文件下载 定义文件下载是指用户从服务器获取文件并保存到本地计算机的过程。用户通常通过点击链接或按钮来触发下载。 过程 用户请求下载用户在网页上点击下载链接或按钮触发下载请求。HTTP请求浏览器发起一个HTTP GET请求请求特定的文件。服务器处理请求 服务器接收到请求后查找请求的文件。服务器将文件内容写入HTTP响应体并设置适当的响应头如Content-Disposition以指示浏览器下载文件而不是直接显示。 浏览器接收文件浏览器接收到响应后开始下载文件并提示用户选择保存位置。文件保存用户选择保存位置后文件被下载到本地计算机。 文件上传和下载的关键步骤 在文件上传和下载的过程中涉及以下关键步骤 用户界面提供文件选择和下载的用户界面HTML表单。HTTP请求使用适当的HTTP方法POST用于上传GET用于下载发送请求。请求处理服务器端代码处理请求解析文件数据上传或查找文件下载。文件存储在上传过程中将文件存储在服务器的指定位置。响应返回服务器返回处理结果上传成功/失败或文件内容下载。错误处理处理可能出现的错误如文件大小限制、文件类型验证、文件不存在等。 在SpringMVC中实现一个文件上传和下载的功能 第一步创建我们的文件项目目录结构 src└── main├── java│ └── com│ └── example│ └── fileupload│ ├── FileUploadController.java│ └── WebConfig.java├── resources│ └── templates│ └── upload.html└── web.xml第二步添加相关依赖 dependenciesdependencygroupIdorg.springframework/groupIdartifactIdspring-webmvc/artifactIdversion5.3.10/version/dependencydependencygroupIdorg.thymeleaf/groupIdartifactIdthymeleaf-spring5/artifactIdversion3.0.12.RELEASE/version/dependencydependencygroupIdjavax.servlet/groupIdartifactIdjavax.servlet-api/artifactIdversion4.0.1/versionscopeprovided/scope/dependency /dependencies 第三步创建我们的Web配置类用来监听相关信息 在WebConfig.java中配置Spring MVC import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.multipart.commons.CommonsMultipartResolver; import org.springframework.web.servlet.ViewResolver; import org.springframework.web.servlet.config.annotation.EnableWebMvc; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; import org.thymeleaf.spring5.SpringTemplateEngine; import org.thymeleaf.spring5.view.ThymeleafViewResolver;Configuration EnableWebMvc public class WebConfig implements WebMvcConfigurer {Beanpublic ViewResolver viewResolver(SpringTemplateEngine templateEngine) {ThymeleafViewResolver resolver new ThymeleafViewResolver();resolver.setTemplateEngine(templateEngine);resolver.setCharacterEncoding(UTF-8);resolver.setOrder(1);return resolver;}Beanpublic CommonsMultipartResolver multipartResolver() {CommonsMultipartResolver multipartResolver new CommonsMultipartResolver();multipartResolver.setMaxUploadSize(10485760); // 10MBreturn multipartResolver;}Overridepublic void addResourceHandlers(ResourceHandlerRegistry registry) {registry.addResourceHandler(/uploads/**).addResourceLocations(file:uploads/);} }创建控制器 在FileUploadController.java中实现文件上传和下载的逻辑 import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.servlet.mvc.support.RedirectAttributes;import javax.servlet.http.HttpServletResponse; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.OutputStream;Controller public class FileUploadController {private final String uploadDir uploads/;GetMapping(/)public String index() {return upload;}PostMapping(/upload)public String uploadFile(RequestParam(file) MultipartFile file, RedirectAttributes redirectAttributes) {if (file.isEmpty()) {redirectAttributes.addFlashAttribute(message, 请选择一个文件上传);return redirect:/;}try {// 保存文件File dir new File(uploadDir);if (!dir.exists()) {dir.mkdirs();}File uploadedFile new File(uploadDir file.getOriginalFilename());file.transferTo(uploadedFile);redirectAttributes.addFlashAttribute(message, 文件上传成功 file.getOriginalFilename());} catch (IOException e) {redirectAttributes.addFlashAttribute(message, 文件上传失败 e.getMessage());}return redirect:/;}GetMapping(/download)public void downloadFile(RequestParam(filename) String filename, HttpServletResponse response) {File file new File(uploadDir filename);if (file.exists()) {response.setContentType(application/octet-stream);response.setHeader(Content-Disposition, attachment; filename\ filename \);try (FileInputStream in new FileInputStream(file);OutputStream out response.getOutputStream()) {byte[] buffer new byte[1024];int bytesRead;while ((bytesRead in.read(buffer)) ! -1) {out.write(buffer, 0, bytesRead);}} catch (IOException e) {e.printStackTrace();}} else {response.setStatus(HttpServletResponse.SC_NOT_FOUND);}} }第五步创建HTML模板 !DOCTYPE html html xmlns:thhttp://www.thymeleaf.org headtitle文件上传/title /head body h1文件上传/h1form methodpost enctypemultipart/form-data th:action{/upload}input typefile namefile required/button typesubmit上传/button /formdiv th:if${message} th:text${message}/divh2下载文件/h2 form methodget th:action{/download}input typetext namefilename placeholder输入文件名 required/button typesubmit下载/button /form /body /html最后一步配置web.xml文件 web-app xmlnshttp://xmlns.jcp.org/xml/ns/javaee xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsdversion3.1servletservlet-namedispatcher/servlet-nameservlet-classorg.springframework.web.servlet.DispatcherServlet/servlet-classload-on-startup1/load-on-startup/servletservlet-mappingservlet-namedispatcher/servlet-nameurl-pattern//url-pattern/servlet-mappingcontext-paramparam-namecontextConfigLocation/param-nameparam-value/WEB-INF/applicationContext.xml/param-value/context-paramlistenerlistener-classorg.springframework.web.context.ContextLoaderListener/listener-class/listener/web-app14:18:08.583 [http-nio-8008-exec-6] DEBUG org.springframework.web.servlet.DispatcherServlet - POST /SpringMVC/upload, parameters{} 14:18:08.595 [http-nio-8008-exec-6] DEBUG org.springframework.web.multipart.commons.CommonsMultipartResolver - Part file, size 719635 bytes, filename白底logo.png 14:18:08.596 [http-nio-8008-exec-6] DEBUG org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping - Mapped to com.miaow.controller.FileUploadController#uploadFile(MultipartFile, RedirectAttributes) 14:18:08.600 [http-nio-8008-exec-6] DEBUG org.springframework.web.multipart.commons.CommonsMultipartFile - Part file, filename 白底logo.png: moved to [D:\IDEATomcat\apache-tomcat-9.0.89-windows-x64\apache-tomcat-9.0.89\bin\uploads\白底logo.png] 14:18:08.600 [http-nio-8008-exec-6] DEBUG org.springframework.web.servlet.view.RedirectView - View name redirect:, model {} 14:18:08.601 [http-nio-8008-exec-6] DEBUG org.springframework.web.multipart.commons.CommonsMultipartResolver - Cleaning up part file, filename 白底logo.png 14:18:08.601 [http-nio-8008-exec-6] DEBUG org.springframework.web.servlet.DispatcherServlet - Completed 302 FOUND 14:18:08.608 [http-nio-8008-exec-5] DEBUG org.springframework.web.servlet.DispatcherServlet - GET /SpringMVC/, parameters{} 14:18:08.608 [http-nio-8008-exec-5] DEBUG org.springframework.web.servlet.handler.SimpleUrlHandlerMapping - Mapped to ParameterizableViewController [viewindex] 14:18:08.610 [http-nio-8008-exec-5] DEBUG org.springframework.web.servlet.DispatcherServlet - Completed 200 OK 14:18:12.924 [http-nio-8008-exec-10] DEBUG org.springframework.web.servlet.DispatcherServlet - GET /SpringMVC/upload, parameters{} 14:18:12.924 [http-nio-8008-exec-10] DEBUG org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping - Mapped to com.miaow.controller.FileUploadController#index() 14:18:12.925 [http-nio-8008-exec-10] DEBUG org.springframework.web.servlet.DispatcherServlet - Completed 200 OK上传成功日志。 下载成功日志 14:19:16.956 [http-nio-8008-exec-9] DEBUG org.springframework.web.servlet.DispatcherServlet - GET /SpringMVC/download?filenameviolet.webp, parameters{masked} 14:19:16.956 [http-nio-8008-exec-9] DEBUG org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping - Mapped to com.miaow.controller.FileUploadController#downloadFile(String, HttpServletResponse) 14:19:16.958 [http-nio-8008-exec-9] DEBUG org.springframework.web.servlet.DispatcherServlet - Completed 200 OK
http://www.w-s-a.com/news/377386/

相关文章:

  • 特色网站建设中国住房和城乡建设局官网
  • 长春市住房城乡建设厅网站做白酒网站
  • 自己的网站怎么做的成品免费ppt网站
  • 番禺区网站建设哪里有泰安公司
  • 网站制作详细过程网站开发最强工具
  • 孟村县做网站长春城投建设投资有限公司网站
  • 国家重大建设项目库网站wordpress安装 var
  • 供求信息网站建设报价网站制作 苏州
  • 动漫建模代做网站百度一下wordpress nginx 固定链接
  • 广州网站开发网络公司网站建设的书
  • php手机网站开发教程家政网站怎么做
  • 视频网站的建设预算通信科技网站设计
  • 糖果网站建设策划书淘宝客网站开源
  • 建站公司还有前途吗cf网站编程
  • 网站建设需求确认表建站工具 比较
  • 刚建设的网站多久能在百度查到考试系统 微网站是什么样的
  • 商城网站建设高端企业网站建设劣势
  • 网站建设征集通讯员的通知seo推广外包
  • 微信公众号微网站建设专业网站建设出售
  • 怎么用wordpress建立自己的网站加强校园网站建设
  • 用什么做网站后台的织梦网站怎么上传
  • 怎么获取网站数据做统计百度快照推广有效果吗
  • 淘宝领卷网站什么做制造网站开发
  • 如何做com的网站网站建设投标书模板
  • 郑州网络营销网站优化网站技术方案怎么写
  • 济南市住房和城乡建设局网站wordpress mnews主题
  • ios开发网站app网站建设企业有哪些方面
  • 网站主页 优帮云深圳代做网站后台
  • app 与网站网站建设要做什么
  • 厦门国外网站建设公司郑州核酸点推vip服务