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

齐齐哈尔做网站个人主页怎么申请

齐齐哈尔做网站,个人主页怎么申请,免费创建个人商城网站,互动平台领手机文章目录 文件上传下载文件上传文件下载 文件上传下载 HTTP请求会包含一个请求头#xff0c;其中Content-Type字段告诉服务器正在发送什么类型的数据。根据发送的数据类型#xff0c;浏览器和服务器会采取适应的处理方式。 multipart/form-data是一… 文章目录 文件上传下载文件上传文件下载 文件上传下载 HTTP请求会包含一个请求头其中Content-Type字段告诉服务器正在发送什么类型的数据。根据发送的数据类型浏览器和服务器会采取适应的处理方式。 multipart/form-data是一种常见的POST数据提交的方式。当表单中使用文件上传字段时经常需要使用这个值。表单以multipart/form-data方式发送的数据必须以一种特殊编码方式进行编码使得多个部分可以作为一个整体发送。这种情况常出现在同时发送文件和其他表单数据时。 表单类型有三种常见的MIME类型 “application/x-www-form-urlencoded”这是默认类型适合发送简单的文本数据。“multipart/form-data”适合发送包含所有类型的数据包括文件数据。“text/plain”虽不常用但有其特殊用途用于发送未经编码的文本数据。 文件上传 在HTML表单中如果要提交的数据包含文件类型如图片文档等“enctype属性需要被设置为multipart/form-data”。 1导入依赖 dependencygroupIdcom.liferay/groupIdartifactIdorg.apache.commons.fileupload/artifactIdversion1.2.2.LIFERAY-PATCHED-1/version /dependency2前端界面 !DOCTYPE html htmlheadmeta charsetUTF-8titledemo/titlestyle typetext/cssinput[typesubmit] {outline: none;border-radius: 5px;cursor: pointer;background-color: #31B0D5;border: none;width: 70px;height: 35px;font-size: 20px;}img {border-radius: 50%;}form {position: relative;width: 200px;height: 200px;}input[typefile] {position: absolute;left: 0;top: 0;height: 200px;opacity: 0;cursor: pointer;}/stylescript typetext/javascriptfunction prev(event) {//获取展示图片的区域var img document.getElementById(prevView);//获取文件对象let file event.files[0];//获取文件阅读器let reader new FileReader();reader.readAsDataURL(file);reader.onload function () {//给 img 的 src 设置图片 urlimg.setAttribute(src, this.result);}}/script/headbody!-- 表单的 enctype 属性要设置为 multipart/form-data --form action/zzz enctypemultipart/form-data methodpost家居图: img alt height200 idprevView width200input id namepic onchangeprev(this) typefile/家居名: input namename typetextbr/input typesubmit value上传//form/body /html3后端接收并保存 package com.lhs;import org.apache.commons.fileupload.FileItem; import org.apache.commons.fileupload.disk.DiskFileItemFactory; import org.apache.commons.fileupload.servlet.ServletFileUpload;import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.File; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import java.util.List; import java.util.UUID;public class myServlet02 extends HttpServlet {Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws Exception {// 检查请求的enctype标头是否为multipart/form-data这意味着请求包含上载的文件if (ServletFileUpload.isMultipartContent(req)) {// 创建一个新的文件项工厂和文件上传对象DiskFileItemFactory diskFileItemFactory new DiskFileItemFactory();ServletFileUpload servletFileUpload new ServletFileUpload(diskFileItemFactory);// 设置请求头的字符编码为UTF-8解决中文乱码问题servletFileUpload.setHeaderEncoding(utf-8);try {// 解析请求将每个表单字段和文件作为单独的项目ListFileItem list servletFileUpload.parseRequest(req);System.out.println(list);// 迭代这些项目for (FileItem fileItem : list) {// 查看项目是否是一个表单字段还是一个文件 if (!fileItem.isFormField()) {// 定义要上传文件的路径String filePath /upload/;// 计算出文件应该被保存的绝对路径String realPath req.getServletContext().getRealPath(filePath);System.out.println(realPath);// 如果文件路径不存在那么就创建文件路径if (!Files.isDirectory(Path.of(realPath))) {Files.createDirectory(Path.of(realPath));}// 获取文件的原名String name fileItem.getName();// 指定文件的新名字然后写入磁盘fileItem.write(new File(realPath / UUID.randomUUID() _ name));// 设置响应类型和编码然后将成功消息写入响应resp.setContentType(text/html;charsetutf-8);resp.getWriter().write(上传成功);}}} catch (Exception e) {throw new RuntimeException(e);}} else {System.out.println(不是表单);}}Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {doGet(req, resp);} }4文件按日期分组存储 //获取当前本地日期 LocalDate localDate LocalDate.now();//从日期中获取年份 int year localDate.getYear();//从日期中获取月份 int month localDate.getMonth().getValue();//从日期中获得日期 int day localDate.getDayOfMonth();//通过年、月、日构造文件路径字符串 String filePath /upload/ year / month / day /;//获取此文件路径的真实路径 String realPath req.getServletContext().getRealPath(filePath);if (!Files.isDirectory(Path.of(realPath))) {//创建该路径下的所有目录Files.createDirectories(Path.of(realPath)); }文件下载 在Http响应中当Content-Disposition的值设置为attachment那么浏览器通常会尝试下载并保存的响应数据而不是直接在浏览器中显示它。 1前端界面 !DOCTYPE html htmlheadmeta charsetUTF-8titledemo/title/headbodyh1文件下载/h1a href/zzz?name1.png点击下载图片1/abr/bra href/zzz?name2.png点击下载图片2/abr/br/body /html2将资源存放在web/download目录下 3后端返回资源 package com.lhs;import org.apache.commons.io.IOUtils;import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.InputStream; import java.net.URLEncoder;public class myServlet02 extends HttpServlet {Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws Exception {// 设置请求编码格式为utf-8req.setCharacterEncoding(utf-8);// 获取下载资源名String name req.getParameter(name);// 构建文件的完整路径String fullPath /download/ name;ServletContext servletContext req.getServletContext();// 获取文件的MIME类型String mimeType servletContext.getMimeType(fullPath);// 设置响应的内容类型resp.setContentType(mimeType);// 设置响应头使得浏览器接收到这个响应后会下载文件而不是直接打开// filename参数指定下载后的文件名这里需要进行URL编码以防文件名有特殊字符resp.setHeader(Content-Disposition, attachment; filename URLEncoder.encode(name));// 获取要下载的文件的输入流InputStream resourceAsStream servletContext.getResourceAsStream(fullPath);// 获取响应的输出流ServletOutputStream outputStream resp.getOutputStream();// 使用Apache的IOUtils工具类把文件的输入流复制到响应输出流实现文件下载IOUtils.copy(resourceAsStream, outputStream);}Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {doGet(req, resp);} }
http://www.dnsts.com.cn/news/171211.html

相关文章:

  • 网站做代码图像显示不出来Optwordpress
  • 西安保障性住房建设投资中心网站怎么找精准客户资源
  • 网站未备案被禁用 怎么办烟台做外贸网站建设
  • 定制做网站开发宁夏银川做网站的公司
  • 怎么做存储网站辽宁网站建设培训班
  • 网站改版 百度影响网站建设详细报价
  • 济南手机网站开发公司电话深圳办公室装修效果图
  • 平阳网站建设公司推荐几个设计网站
  • 怎样使自己做的网站上线图片上传网站变形的处理
  • 网站设计基本结构网站后台登陆网址是多少
  • 哪些网站可以做引流建设公司网站的可行性研究
  • 制作介绍的网站模板广州注册公司最新流程
  • wordpress手机网站模版wordpress 去掉超链接
  • 程序员用来做笔记的网站如何获取公众号
  • 仿牌网站空间商城系统管理
  • 建筑工程找工作哪个网站好网推获客平台
  • 销售类网站开发架构全球十大软件公司
  • 网站制作学校要的360免费wifi怎么连接
  • 山东省专业群建设网站html实例
  • 校园网建设网站特色好的网站你知道
  • 多语言网站建设推广WordPress论坛案例
  • 中文域名网站好不好优化自己的网站怎么做搜索
  • asp.net 网站修改发布网站开发规划书怎么写
  • 互动平台是什么意思深圳市企业网站seo
  • 怎么用.net做网站建工论坛网
  • 10_10_设计公司网站设计网站开发培训学院
  • 福州企业自助建站手机网站有什么区别
  • 如何申请建设网站域名郑州做品牌网站的公司
  • 苏州新区建网站百度竞价关键词查询
  • 网站的特征包括哪些什么颜色做网站好看