zoukankan      html  css  js  c++  java
  • 文件上传

    条件:

    1.上传的表单必须以post方式提交

    2.提交需要指定编码为multipart/form-data

    具体代码如下:

    记得要将部分xml文件路径引入到struts.xml中

    <include file="/kp10_fileload/fileload.xml"></include>
    package kp10_fileload;
    
    import java.io.File;
    import java.util.UUID;
    
    import org.apache.commons.io.FileUtils;
    import org.apache.struts2.ServletActionContext;
    
    import com.opensymphony.xwork2.ActionSupport;
    
    public class FileUpLoadAction extends ActionSupport {
    
        private static final long serialVersionUID = 1L;
        private File image;
        private String imageContentType;// 文件类型
        private String imageFileName;// 文件名
    
        public void setImage(File image) {
            this.image = image;
        }
    
        public void setImageContentType(String imageContentType) {
            this.imageContentType = imageContentType;
        }
    
        public void setImageFileName(String imageFileName) {
            this.imageFileName = imageFileName;
        }
    
        public String execute() throws Exception {
            System.out.println(image);// 上传的资源路径
            System.out.println(imageFileName);// 获取文件名
            System.out.println(imageContentType);// 文件类型
            String path = ServletActionContext.getServletContext().getRealPath("/FileTransport");// FileTransport文件夹路径
            String fileName = UUID.randomUUID().toString() + "." + imageContentType.split("/")[1];// 整一个UUID作为文件名,将文件类型以"/"分割,保留第一个
            File desFile = new File(path, fileName);// 将路径 和文件名存放进DesFile
            FileUtils.copyFile(image, desFile);// copy文件到该路径
    
            return SUCCESS;
        }
    }
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <%@ taglib prefix="s" uri="/struts-tags" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>load</title>
    </head>
    <body>
        <h3>load</h3>
        <hr/>         

    <s:form namespace="/fileupload" action="fileup" method="post" enctype="multipart/form-data">(跟xml中的namespace相同)action和xml中的也相同 <s:file name="image"/> <s:submit value="上传"/> </s:form> </body> </html>
    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
        "http://struts.apache.org/dtds/struts-2.3.dtd">
    
    <struts>
        <package name="fileupload" namespace="/fileupload" extends="struts-default" >
            <action name="fileup" class="kp10_fileload.FileUpLoadAction" > 
                <result>/JSP/file/file.jsp</result> <!-- 此处路径只是为了让其不报错 -->
            </action>
            
        </package>
        
    </struts>
  • 相关阅读:
    Linux学习32
    Linux学习31-如何查看 linux 系统是centos还是ubuntu,并查看系统版本号
    python测试开发django-124.bootstrap点删除按钮弹确认删除
    python测试开发django-123.bootstrap模态框(modal)垂直居中显示
    python测试开发django-122.bootstrap模态框(modal)学习
    Linux下查询tomcat进程命令
    linux服务器通过X11实现图形化界面显示 1 背景描述
    linux(centos)配置ipv6网卡
    linux 下给网卡添加ipv6、路由
    2021年最新大厂php+go面试题集(1)
  • 原文地址:https://www.cnblogs.com/huike/p/6534642.html
Copyright © 2011-2022 走看看