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

哪个网站下载软件最安全海外网站的建设

哪个网站下载软件最安全,海外网站的建设,让网站快速收录,漫画网站源码文章目录 Spring MVC 中文件上传利用 commons-fileupload 文件上传使用 Servlet 3.1 内置的文件上传功能 Spring MVC 中文件下载 Spring MVC 中文件上传 为了能上传文件#xff0c;必须将 from 表单的 method 设置为 POST#xff0c;并将 enctype 设置为 multipart/form-data… 文章目录 Spring MVC 中文件上传利用 commons-fileupload 文件上传使用 Servlet 3.1 内置的文件上传功能 Spring MVC 中文件下载 Spring MVC 中文件上传 为了能上传文件必须将 from 表单的 method 设置为 POST并将 enctype 设置为 multipart/form-data 。 实现文件上传的 “底层” 方案有 2 种 使用 Apache Commons FileUpload 包 使用 Servlet 3.1 内置的文件上传功能 无论你的底层是使用上述的哪种方案Spring MVC 都对它们作出了『包装』让 Spring MVC 中的上传文件的代码简化而统一提供一个 MultipartResolver并将 input type“file” … 类型的请求参数绑定到请求处理方法的 MultipartFile 类型的参数上。两者具体的类型有所不同 这需要提前说明以下Spring MVC 利用 Servlet 3.1 内置的文件上传功能上传文件时有个小问题。有人发现无法将它所用到的 StandardMultipartResolver 的编码从默认的 iso-8859-1 改为 UTF-8 。也有人分析在使用 tomcat 7 时会出现这个问题并认为这是 tomcat 7 的 bug 。所有简单起见建议优先考虑 commons-fileupload 方案。 具体讨论可参见stakoverflow 。 利用 commons-fileupload 文件上传 利用 commons-fileupload 文件上传需要利用引入 commons-fileupload 包它依赖于 commons-io 包 dependencygroupIdcommons-fileupload/groupIdartifactIdcommons-fileupload/artifactIdversion1.5/version /dependencySpring MVC 是通过 MultipartResolver 的 JavaBean 提供、支持文件上传功能。commons-fileupload 中该接口的实现类是 CommonsMultipartResolver 。 简单来说CommonsMultipartResolver 是 Spring MVC 去利用 commons-fileupload 实现上传功能的『桥梁』。 在 spring-web.xml 中添加如下配置让 Spring 负责创建并初始化该 Bean 。 bean idmultipartResolver classorg.springframework.web.multipart.commons.CommonsMultipartResolverproperty namemaxUploadSize value104857600 /property namemaxInMemorySize value4096 /property namedefaultEncoding valueUTF-8/!-- 更多配置根据具体需求进一步再学习/使用 -- /bean至此配置结束。在 Spring MVC 的 Controller 中Spring MVC 就可以将用户上传的数据绑定到 CommonsMultipartFile 类型的参数上。 注意 此处的 RequestParam() 不能省略即便是 name 与 name 一致。 RequestMapping(/upload.do) public String upload(String username, String password,RequestParam(uploadfile) CommonsMultipartFile uploadfile) throws IOException {log.info({}, uploadfile.getName());log.info({}, uploadfile.getOriginalFilename());String path D:/ new Date().getTime() uploadfile.getOriginalFilename();uploadfile.transferTo(new File(path));return ; }CommonsMultipartFile 支持如下功能 方法说明byte[] getBytes()以字节数组的形式返回文件的内容String getContentType()返回文件的内容类型InputStream getInputStream()返回一个 InputStream可以从中去读文件内容String getName()返回请求参数的 nameString getOriginalFilename()返回文件原本的文件名long getSize()返回文件大小单位字节boolean isEmpty()判断上传的文件是否为空void transferTo(File destination)将上传的文件保存到指定位置 如果从页面上同时上传多个文件那么页面上的 file 可以使用同一个 name而代码中则使用 CommonsMultipartFile 的数组类型的参数接受。数组中的每一个 MultipartFile 就代表着一个上传的文件。 pinput typefile namefiles/p pinput typefile namefiles/p pinput typefile namefiles/pRequestParam(files) CommonsMultipartFile[] files使用 Servlet 3.1 内置的文件上传功能 补充其实 Servlet 3.0 就已经开始提供内置的上传功能只不过该功能在 Servlet 3.1 中进一步增强/改进/完成。因此一般的说法是 Servlet 3.1 支持内置的文件上传功能。 利用 Servlet 3.1 实现文件上传的概念和使用过程和利用 commons-fileupload 本质上并无太大区别。只不过有几处小区别 提供文件上传功能的是 StandardServletMultipartResolver 不再是 CommonsMultipartResolver 。 spring-web.xml bean idmultipartResolver classorg.springframework.web.multipart.support.StandardServletMultipartResolver/对上传过程中的相关配置是配置在 web.xml 中的 DispacherServlet 下而非 spring-web.xml 中的 MultipartResolver 下。 web.xml servletservlet-namehello/servlet-nameservlet-classorg.springframework.web.servlet.DispatcherServlet/servlet-classinit-param.../init-paramload-on-startup.../load-on-startupmultipart-configlocationd://location !-- 临时文件的目录。该目录必须存在 --max-file-size2097152/max-file-size !-- 一次请求上传的单个文件最大2M --max-request-size4194304/max-request-size !-- 一次请求上传的多个文件整体大小不超过4M --/multipart-config /servletController 代码中使用的注解是 RequestPart(“file”)而非 RequestParam绑定的参数类型是 MultipartFile而不是 CommonsMultipartFile 。 RequestMapping(/upload.do) public String upload(String username, String password,RequestPart(files) MultipartFile[] files) MultipartFile 对象的功能与 CommonsMultipartFile 基本类似。 Spring MVC 中文件下载 Spring MVC 提供了一个 ResponseEntity 类型使用它可以很方便地定义返回 HttpHeaders 和 HttpStatus 以实现下载功能。 RequestMapping(/download) public ResponseEntitybyte[] download(HttpServletRequest req,RequestParam(filename) String filename, Model model) throws Exception {// 1. 准备一个字节数组字节数组的内容来源于一个文件。// 这个字节数组就是在本次 HTTP 请求中 Tomcat 要回给客户端浏览器的内容、数据。String path req.getServletContext().getRealPath(upload);File file new File(path File.separator filename);byte[] bytes FileUtils.readFileToByteArray(file);// 2. 创建一个 ResponseEntity 对象。它代表着一个 HTTP 响应。// 而一个 HTTP 响应又有行-头-体。其中『体』里存放的就是上述的代表文件内容的字节数组HttpHeaders headers new HttpHeaders();// 解决文件名乱码问题// String downloadFileName new String(filename.getBytes(UTF-8), iso-8859-1);// 第一个放在 header 中的键值对 attachmentxxxheaders.setContentDispositionFormData(attachment, filename);// 第二个放在 header 中的键值对 media-typexxxxheaders.setContentType(MediaType.APPLICATION_OCTET_STREAM);ResponseEntitybyte[] responseEntity new ResponseEntity(bytes, // 响应体中携带的数据headers, // 响应头HttpStatus.OK); // 响应行中的状态码return responseEntity; }
http://www.zqtcl.cn/news/761128/

相关文章:

  • wordpress产品编辑如何优化wordpress
  • 网站后台更新缓存失败网站平台规划方案
  • 网站开发需求分析主要内容saas建站系统是怎么实现的
  • 做qq头像的网站有哪些wordpress怎么部署到虚拟linux服务器
  • 征求网站建设企业网站建设word
  • 市民服务中心网站建设小型公众号开发
  • 服装网站建设策划书论文基层建设刊物网站
  • 网站建设合同技术开发合同范本wordpress备份和还原
  • 物流信息平台网站建设一流本科专业建设点网站
  • 天猫网站建设的目标是什么装潢设计软件
  • 电商网站首页图片网站功能模块建设
  • 邮件服务器是不是网站服务器黄江网站建设公司
  • 科技部网站方案网页设计网站设计欣赏
  • 自贡建设机械网站网站策划与运营课程认知
  • 公司做网站该注意哪些廊坊seo
  • 网站开发目录高尔夫 wordpress
  • 三只松鼠网站建设不做网站做百家号
  • 石家庄网站关键词推广淘宝网站建设设计模板
  • 马鞍山什么房产网站做的好网速
  • 国外做兼职网站软件园二期做网站的公司
  • 淘客网站备案教程网页设计与制作教程十四五规划
  • 哪些网站可以做外部锚文本网页设计个人简历怎么做
  • 福州网站营销北京著名网站建设公司
  • 导购网站开发 源码wordpress 获取总页数
  • 网站名查找wordpress评论人
  • 网络推广最好的网站有哪些wordpress怎么用万网域名
  • 大连仟亿科技网站建设公司 概况网络信用贷款哪个好
  • 配置了iis打不开网站外贸建站哪个最便宜
  • 酒店网站建设描述免费建站网站有哪些
  • 做宠物的网站主题思想网站建设 司法公开的需要