简单的上传事例

第一步:

完成index.jsp,只需要一个表单。注意表单必须是post的,而且enctype必须是mulitpart/form-data的。

<form action="${pageContext.request.contextPath }/FileUploadServlet" method="post" enctype="multipart/form-data">
        用户名:<input type="text" name="username"/><br/>
        文件1:<input type="file" name="file1"/><br/>
        <input type="submit" value="提交"/>
    </form>

第二步:

完成FileUploadServlet

public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        // 因为要使用response打印,所以设置其编码
        response.setContentType("text/html;charset=utf-8");

        // 创建工厂
        DiskFileItemFactory dfif = new DiskFileItemFactory();
        // 使用工厂创建解析器对象
        ServletFileUpload fileUpload = new ServletFileUpload(dfif);
        try {
            // 使用解析器对象解析request,得到FileItem列表
            List<FileItem> list = fileUpload.parseRequest(request);
            // 遍历所有表单项
            for(FileItem fileItem : list) {
                // 如果当前表单项为普通表单项
                if(fileItem.isFormField()) {
                    // 获取当前表单项的字段名称
                    String fieldName = fileItem.getFieldName();
                    // 如果当前表单项的字段名为username
                    if(fieldName.equals("username")) {
                        // 打印当前表单项的内容,即用户在username表单项中输入的内容
                        response.getWriter().print("用户名:" + fileItem.getString() + "<br/>");
                    }
                } else {//如果当前表单项不是普通表单项,说明就是文件字段
                    String name = fileItem.getName();//获取上传文件的名称
                    // 如果上传的文件名称为空,即没有指定上传文件
                    if(name == null || name.isEmpty()) {
                        continue;
                    }
                    // 获取真实路径,对应${项目目录}/uploads,当然,这个目录必须存在
                    String savepath = this.getServletContext().getRealPath("/uploads");
                    // 通过uploads目录和文件名称来创建File对象
                    File file = new File(savepath, name);
                    // 把上传文件保存到指定位置
                    fileItem.write(file);
                    // 打印上传文件的名称
                    response.getWriter().print("上传文件名:" + name + "<br/>");
                    // 打印上传文件的大小
                    response.getWriter().print("上传文件大小:" + fileItem.getSize() + "<br/>");
                    // 打印上传文件的类型
                    response.getWriter().print("上传文件类型:" + fileItem.getContentType() + "<br/>");
                }
            }
        } catch (Exception e) {
            throw new ServletException(e);
        }
    }
时间: 2024-10-13 01:53:01

简单的上传事例的相关文章

简单的上传文件和下载文件

简单的上传文件和下载文件: request.setCharacterEncoding("utf-8"); / *设置编码格式 */ response.setContentType("application/msword");  /*使浏览器能区分数据的种类,这里是word文件类型*/ Part part = request.getPart("files"); /*取的需要上传的文件*/ String path = this.getServletC

JSP简单练习-上传文件

注意:在编写上传文件的代码时,需确保"WEB-INF/lib"下含有jspsmartupload.jar包,否则会出错. jspSmartupload.jar下载 <!-- uploadfileform.jsp --> <%@ page language="java" contentType="text/html; charset=gb2312" %> <html> <head> <title

Java用FTP实现简单的上传下载

2019-06-12 22:28:33 已经是快四年的博客园用户了,今天实在是因为遇到的坑太蛋疼了,所以写好之后想直接发个博客. 下图是FTP的练习截图: 用到了这三个jar包,jar包确实不大好找,下面是我上传的jar包连接: https://files.cnblogs.com/files/gbn007/FTP%E7%AE%80%E5%8D%95%E4%B8%8A%E4%BC%A0%E4%B8%8B%E8%BD%BD%E6%89%80%E9%9C%80%E8%A6%81%E7%9A%84jar

struts2实现简单文件上传

struts2 在内部已经帮我们做了很多封装的工作,我们只需要简单的写一些配置即可. 1 表单页面 <form action="${pageContext.request.contextPath }/fileupload" method="post" enctype="multipart/form-data"> <input type="file" name="filesrc" >&

Web---文件上传-用apache的工具处理、打散目录、简单文件上传进度

我们需要先准备好2个apache的类: 上一个博客文章只讲了最简单的入门,现在来开始慢慢加深. 先过渡一下:只上传一个file项 index.jsp: <h2>用apache的工具处理文件上传</h2> <!-- 先过渡一下:只上传一个file项 --> <form action="<%= request.getContextPath() %>/upload" method="post" enctype=&quo

salesforce 零基础学习(四十二)简单文件上传下载

项目中,常常需要用到文件的上传和下载,上传和下载功能实际上是对Document对象进行insert和查询操作.本篇演示简单的文件上传和下载,理论上文件上传后应该将ID作为操作表的字段存储,这里只演示文件上传到Document对象中. 一.文件上传功能 apex代码 1 public with sharing class FileUploadUsedTransientController { 2 3 public transient Blob fileUploadBody{get;set;} 4

SpringBoot入门十九,简单文件上传

项目基本配置参考SpringBoot入门一,使用myEclipse新建一个SpringBoot项目,使用myEclipse新建一个SpringBoot项目即可.现在来给项目添加一个MyBatis支持,添加方式非常简单,仅需两步即可,具体内容如下: 1. pom.xml添加以下配置信息 <!-- 文件上传配置开始 --> <!-- 9.引入commons-io依赖 --> <dependency> <groupId>commons-io</groupId

php简单文件上传类

<?php header("Content-Type:text/html; charset=utf-8"); if($_POST['submit']){ $upfiles = new Upload(); $upfiles->upload_file(); } class Upload{ /*作者:mckee 来自:www.phpddt.com*/ public $upload_name; //上传文件名 public $upload_tmp_name; //上传临时文件名 p

SpringMVC中简单的上传

项目截图 需要导入的基本包有Spring所有的包加上Apache支持上传的包 web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instan