Struts上传文件

编写jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title></title>
  </head>
  <body>
  <!--enctype="multipart/form-data"文件以二进制上传  -->
  <form action="files.action" method="post" enctype="multipart/form-data">
    <input name="files" type="file"><!--这里的name="files"必须和action中的属性名对应 (private File files;) -->
    <input type="submit" >
   </form>
  </body>
</html>

编写action处里请求

package action;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;

public class filesAction {

    private File files;

    public File getFiles() {
        return files;
    }

    public void setFiles(File files) {
        this.files = files;
    }

    public String execute() throws Exception{
        //输出流,并指定输出路径
        FileOutputStream fos=new FileOutputStream("f:/abc.rar");
        //创建输入流读取文件
        FileInputStream fis=new FileInputStream(files);
        //创建字节数组设置缓冲区
        byte[] bytes=new byte[1024];
        int len=fis.read(bytes);
        //边写入边读取二进制
        while(len>0){
            //趁着读取字节未覆盖原来的字节前,把其写入硬盘
            fos.write(bytes);
            //继续读取字节直到读取完
            len=fis.read();
        }
        fos.flush();
        fos.close();
        fis.close();
        return "success";
    }
}

Struts.xml配置文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
    <package name="default" namespace="/" extends="struts-default">
        <action name="files" class="action.filesAction">
        <result name="success">index.jsp</result>
        </action>
    </package>
</struts>    

运行结果

时间: 2024-11-05 00:30:58

Struts上传文件的相关文章

struts 上传文件 Dynavalidatorform 实例

一.相关jar包     一个空struts工程的jar包:    另上传文件的两个jar包: 二.页面 1.上传页面upload.jsp 1 <%@ page language="java" contentType="text/html; charset=utf-8" 2 pageEncoding="utf-8"%> 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Tra

Struts上传文件总结

一.上传文件过程(以上传头像为例) 1.头像文件通过jsp的表单提交到add.action进行处理 注意 1)表单的enctype属性设置为multipart/form-data 2)上传方式为post方法 <form id="form" name="form" action="${basePath}nsfw/user_add.action" method="post" enctype="multipart/f

利用Struts上传文件

在利用struts2完成上传文件到服务器时,遇到获取不到文件名 原因是在Action中的属性名没有和jsp中的属性名匹配 <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"

struts 上传文件

文件上传的时候struts会使用默认18个拦截器中的<interceptor name="fileUpload" class="org.apache.struts2.interceptor.FileUploadInterceptor"/>进行处理. 文件上传Action类: Action类中定义三个属性: private File file1; 对应表单:<input type="file" name="file1&q

struts使用html:file上传文件的时候文件名乱码解决

<body> <html:form action="/jwid/struts1x/15.3/form/upload.do?action=upload" enctype="multipart/form-data"> 文件:<html:file property="file" style="width:200px;"></html:file><br> 备注:<htm

struts利用插件jqueryupload上传文件,后台处理文件代码

package cn.axhu.education.action.file; import cn.axhu.education.common.FileSystemConfig;import cn.axhu.education.common.utils.FileUtils;import net.ruixin.web.struts2.SimpleActionSupport;import org.apache.struts2.convention.annotation.Action;import or

java配置ueditor中解决“未找到上传文件”错误提示

ueditor是一个功能十分强大的在线文本编辑器,但是在ssh框架中,确切的说实在struts2中由于其拦截器需要对request,session对象进行重新封装,这个过程中会把request对象中保存的一些内容清空,所以会导致ueditor的上传功能获取不到需要上传的内容导致“未找到上传文件”的错误! 参考网上资料和自己实验,最终的解决思路是,重写struts2中的一个转换的类,然后配置struts2使用我们重写的这个类.由于我们的工程中可能会有其他的上传等功能,为了不影响其他功能的时候,还需

uploadify上传文件

页面部分: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@include file="/common/taglibs.jsp"%> <%@ page import="com.cattsoft.baseplatform.func.sm.entity.SysU

Android上传文件至服务器(转)

本实例实现每隔5秒上传一次,通过服务器端获取手机上传过来的文件信息并做相应处理:采用Android+Struts2技术. 一.Android端实现文件上传 1).新建一个Android项目命名为androidUpload,目录结构如下: 2).新建FormFile类,用来封装文件信息 package com.ljq.utils; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundExce