`

文件上传与下载

阅读更多
昨天搞了一下午的文件上传下载,文件上传实现了,用的是apache fileupload,而文件下载一直没有搞好,看了看公司的项目,发现文件下载是靠浏览器自动实现的,你只要将你的文件路径写好,文件下载,用户只要点击这个超链接就可以保存文件了,testUpload是我的项目名称,这是从服务器上下载文件,以后再用到下载以后再学习吧
现在说下文件上传功能:
index.jsp页面:
<html>
<head>
<script type="text/javascript">
function doSubmit(){
     document.form_save.submit();
}
  </script>
</head>
<body>
<form action="file_upload.jsp" method=post  id='form_save' name='form_save' enctype="multipart/form-data" onsubmit="return CheckUploadForm()">
<table  class='tablist' style="width: 550px; margin: auto" cellspacing=0 cellpadding=0>
<tr><th align="right"  style="width: 180px;">选择文件</th>
<td><input type=file class="input_center" name=uploadfile size=1 id="select_file" style="width:350px" ></td></tr>
<tr><td colspan="2" align="center">
<input type=button name="" id="upload_file"  onclick="doSubmit()" value="上传文件"></td></tr>
                </table>
    </form></body>
***********************************************
当然form的提交可在是servlet或者是.do都可以,为了方便我就在jsp中处理了,只是测试而已
file_upload.jsp页面:
<%@page contentType="text/html;charset=UTF-8"%>

<%@ page import="org.apache.commons.fileupload.*"%>
<%@ page import="java.io.*"%>
<%@ page import="java.util.*"%>

<%@page import="org.apache.commons.fileupload.servlet.ServletFileUpload"%>
<%@page import="org.apache.commons.fileupload.disk.DiskFileItemFactory"%>
<%@page import="org.apache.commons.io.FilenameUtils,org.apache.commons.io.FileUtils"%>

<script src="<%=request.getContextPath()%>/js/common.js"></script>
<%

DiskFileItemFactory factory = new DiskFileItemFactory();
   //这里定义文件保存地址,我就直接保存到根目录下了
   String path=request.getRealPath("/upload");
 

   //这里是设置临时文件的存储目录,我也设置到根目录下了
   factory.setRepository(new File(path));
   //下面这个方法意思是说如果大于1024*1024才存储到临时目录下,如果小于就直接读取到内存中
   factory.setSizeThreshold(1024 * 1024);
   //ServletFileUpload是主要的操作
   ServletFileUpload upload = new ServletFileUpload(factory);
  upload.setHeaderEncoding("UTF-8");
   try{
    //将表单读取过来,存到List里面
    List<FileItem> list = upload.parseRequest(request);
    //便利这个list
    for(FileItem item:list){
     //isFormField如果为真表示该字段是非文件字段
     if(item.isFormField()){
      //获取字段name属性里的内容
      String name = item.getFieldName();
      //获取该字段的value
      String value = item.getString("utf-8");
    
      System.out.println("FieldValue=="+value);
      //保存到request
      request.setAttribute(name, value);
    
     }else{//如果该字段是file
      //获取字段的name属性
      String name = item.getFieldName();
      //获取字段value属性
      String value = item.getName();
      //由于浏览器的不同,所以只讲文件名分割过来
      int start = value.lastIndexOf("\\");
    
      String fileName = value.substring(start+1);
    
      request.setAttribute(name, fileName);
    
      System.out.println("fieldName is:"+name+" fieldValue is:"+fileName);
      //保存
      item.write(new File(path,fileName));//可以直接输入,也可以通过流操作。
     }
    }
  
   }catch(Exception e){
    e.printStackTrace();
   }
    
%>
<script type="text/javascript">

    System.out.println("aaa");
    window.opener.refreshAttach();
    closeWindow();

</script>
  
  



0
0
分享到:
评论

相关推荐

    java web 文件上传与下载

    这个小例子为你提供了一种实现方式,帮助你理解如何在Java Web环境中处理文件的上传与下载。以下是对这些知识点的详细解释: 1. **Servlet API**: Java Web中的文件上传通常涉及到Servlet API,特别是`...

    JSP实现文件上传与下载.pdf

    "JSP实现文件上传与下载" JSP(Java Server Pages)是一种动态网页技术,用于开发基于Web的应用程序。JSP技术可以和其他Java技术集成,实现复杂的Web应用程序。下面是JSP实现文件上传与下载的知识点总结: 一、JSP...

    C#文件上传与下载

    C#文件上传与下载技术 C#文件上传与下载是winform应用程序中一个常见的功能,用于上传和下载文件。下面是关于C#文件上传与下载的技术知识点: 1. 文件上传 文件上传是指将客户端的文件上传到服务器端的过程。C#中...

    javaweb简单实现文件上传与下载源代码

    在JavaWeb开发中,文件上传和下载是常见的功能需求,特别是在构建交互性强的Web应用时。本源代码示例提供了一个简单的实现,帮助开发者理解如何处理这些操作。下面将详细解释涉及的技术点。 1. **文件上传** - **...

    PHP文件上传与下载学习笔记

    在PHP中,文件上传和下载是常见的Web应用功能,用于处理用户上传的文件或提供文件供用户下载。...总的来说,理解并熟练掌握PHP文件上传与下载的配置、错误处理和安全措施,对于开发健壮的Web应用程序是必不可少的。

    javaweb文件上传与下载模块源代码

    这个"javaweb文件上传与下载模块源代码"提供了一个实现这些功能的基础框架,对于初学者和Java程序员来说,这是一个很好的学习资源。下面将详细讲解其中涉及的关键知识点。 1. **Servlet和HTTP协议**: - 在Java ...

    文件上传与下载简单实例

    在IT领域,文件上传与下载是Web应用中的基础功能,广泛应用于各种场景,如社交媒体、云存储服务、在线教育平台等。本实例将探讨如何实现简单的...通过合理的设计与实现,可以构建稳定、高效且安全的文件上传下载系统。

    文件上传与下载servlet

    在IT行业中,文件上传与下载是Web应用中常见的功能,特别是在企业级系统中,例如文档管理系统、在线教育平台等。Servlet作为Java Web开发中的一个重要组件,常被用来处理这些操作。下面将详细介绍如何使用Servlet...

    java实现文件上传与下载

    在Java开发中,文件上传和下载是常见的功能需求,尤其在Web应用中,例如用户上传个人照片、下载文档等。Struts2是一个流行的Java Web框架,它提供了方便的文件上传和下载支持。以下是对这个主题的详细讲解。 一、...

    文件上传与下载项目报告

    - **项目背景**:随着互联网技术的发展,文件的在线处理和共享变得越来越普遍,因此构建一个稳定可靠的文件上传下载系统是必要的。 2. **可行性研究报告** - **概论**:在项目开始之前,需评估项目的可行性和预期...

    【ASP.NET编程知识】ASP.NET Core文件上传与下载实例(多种上传方式).docx

    ASP.NET Core 文件上传与下载实例(多种上传方式) 知识点1: ASP.NET Core 文件上传与下载实例 ASP.NET Core 2.0 已经很成熟,可以使用模型绑定上传文件。官方文档提供了相关的示例代码,可以作为参考。 知识点2:...

    文件上传与下载组件

    "文件上传与下载组件"是IT领域中一个关键的功能模块,尤其在Web应用程序中,它为用户提供了方便的数据交互方式。fileUpDo组件是专为此目的设计的,它集成了文件上传和下载的核心功能,使得开发者能够快速地在自己的...

    文件上传与下载项目源码

    文件上传与下载是Web应用程序中的常见功能,广泛应用于各种在线平台,如社交媒体、云存储服务、协同工作系统等。在本项目源码中,我们关注的是如何实现这一关键功能,以便于开发者能够快速地集成到自己的应用中。...

    文件上传与下载的功能模块

    在IT行业中,文件上传与下载是许多Web应用的基础功能,特别是在协作、分享和存储平台中。这个代码模块可能包含了实现这两个功能的关键组件。下面将详细解释文件上传与下载的基本概念,以及实现这些功能的一些关键...

    javaweb文件上传与下载

    javaweb文件上传与下载

    文件上传与下载模块

    在实现文件上传下载时,要考虑到权限控制。确保只有拥有相应权限的用户才能访问特定的文件,这可能涉及到用户认证和授权机制。 8. **错误处理** 编程时需要考虑可能出现的各种异常情况,如文件过大导致内存溢出、...

    文件的上传与下载过滤操作技术(java jsp )

    以上就是关于"文件的上传与下载过滤操作技术(java jsp )"的详细解析,涵盖了Java JSP实现文件上传下载、过滤器的使用以及登录验证的关键技术点。理解并掌握这些知识点,能帮助开发者构建安全、高效的Web应用。

    Java开发案例-springboot-10-整合MinIO实现文件上传与下载-源代码+文档.rar

    Java开发案例-springboot-10-整合MinIO实现文件上传与下载-源代码+文档.rar Java开发案例-springboot-10-整合MinIO实现文件上传与下载-源代码+文档.rar Java开发案例-springboot-10-整合MinIO实现文件上传与下载-源...

Global site tag (gtag.js) - Google Analytics