Struts学习总结-04 上传文件

1. upload.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib uri="/struts-tags"  prefix="s"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>uploadDemo</title>
  </head>

  <body>

    <s:form action="myUpload" enctype="multipart/form-data">

        <s:file name="myfile"></s:file>
        <s:submit value="submit"></s:submit>

    </s:form>

  </body>
</html>

2 uploadResult.jsp

<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML  >
<html>
  <head>
  </head>
  <body>

    Upload success!!

  </body>
</html>

3 UploadAction.java

package com.xiping.action;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;

import com.opensymphony.xwork2.ActionSupport;

public class UploadAction extends ActionSupport {
    private File myfile; // 对应真正上传的文件

    private String myfileFileName; // 对应上传的文件名

    public File getMyfile() {
        return myfile;
    }

    public void setMyfile(File myfile) {
        this.myfile = myfile;
    }

    public String getMyfileFileName() {
        return myfileFileName;
    }

    public void setMyfileFileName(String myfileFileName) {
        this.myfileFileName = myfileFileName;
    }

    @Override
    public String execute() throws Exception {
        InputStream is = new FileInputStream(myfile);
        OutputStream os = new FileOutputStream("E://temp3//" + myfileFileName);

        byte[] buffer = new byte[1024];
        int length = 0;

        while (-1 != (length = is.read(buffer))) {
            os.write(buffer, 0, length);
        }

        os.close();
        is.close();

        return SUCCESS;
    }
}

4 struts.xml

<?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>

    <!-- 所有匹配*.action的请求都由struts2处理 -->
    <constant name="struts.action.extension" value="action" />
    <!-- 是否启用开发模式 -->
    <constant name="struts.devMode" value="true" />
    <!-- struts配置文件改动后,是否重新加载 -->
    <constant name="struts.configuration.xml.reload" value="true" />
    <!-- 设置浏览器是否缓存静态内容 -->
    <constant name="struts.serve.static.browserCache" value="false" />
    <!-- 请求参数的编码方式 -->
    <constant name="struts.i18n.encoding" value="utf-8" />
    <!-- 每次HTTP请求系统都重新加载资源文件,有助于开发 -->
    <constant name="struts.i18n.reload" value="true" />
    <!-- 文件上传最大值 -->
    <constant name="struts.multipart.maxSize" value="104857600" />
    <!-- 让struts2支持动态方法调用 -->
    <constant name="struts.enable.DynamicMethodInvocation" value="true" />
    <!-- Action名称中是否还是用斜线 -->
    <constant name="struts.enable.SlashesInActionNames" value="false" />
    <!-- 允许标签中使用表达式语法 -->
    <constant name="struts.tag.altSyntax" value="true" />

    <package name="struts" extends="struts-default">

            <action name="myUpload" class="com.xiping.action.UploadAction">
                <result name="success">/uploadResult.jsp</result>
            </action>

    </package>

</struts>
时间: 2024-08-04 03:11:07

Struts学习总结-04 上传文件的相关文章

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

Unable to find ‘struts.multipart.saveDir’ Struts2上传文件错误的解决方法

原因是没有设置存放临时文件的文件夹,而错误提示中的struts.multipart.saveDir就是设置临时文件夹的属性,把该配置写到struts.properties文件中即可,如下: struts.multipart.saveDir = /tmp 如果此文件夹不存在,Struts 2会自动创建一个. 也可以在struts.xml配置文件中添加一个常量设置: <constant name="struts.multipart.saveDir" value="/tmp&

Python学习之socket上传文件

#服务器 import socketserver,json,os class MyTCPHandler(socketserver.BaseRequestHandler): # handle() # 执行完就断开,处理和客户端的所有交互 def put(self,*args): #接受客户端文件 cmd_dic = args[0] # 传进来的是 字典cmd_dic # print(cmd_dic) # b'{"action": "put", "filena

python基础学习日志day8-socket上传文件

ftp server 1) 读取文件名 2)检查文件是否存在 3)打开文件 4)检查文件大小 5)发送文件大小给客户端 6)等客户端确认 7)开始边读边发数据 下载文件客户端 # -*- coding:utf-8 -*- __author__ = 'shisanjun' import socket import json import os host=("127.0.0.1",9000) client=socket.socket() client.connect(host) while

[学习笔记]验证上传文件后缀名类型

<script type="text/javascript" charset="utf-8"> function checkFile(filename){ var flag = false; var arr = ["jpg","png","gif","bmp"]; //取扩展名: var index = filename.indexOf("."); var

C#上传文件

QQ:1187362408 欢迎技术交流和学习 关于C#上传文件(产品开发): TODO: 1.文件大小不足500M(web.config配置直接处理) 2,文件大小超过500M(ASP.NET分段读取) TODO: 1,文件不存在,点击返回,跳转至原始帮助文档List界面 2.上传文件:文件过大,等待标识和下载一样 3,开启和关闭<内置list中參考>

使用七牛云存储上传文件学习案例

最近学习了使用七牛云储存上传文件的经验过程,和大家分享一下.语言:C# 七牛云储存用户注册地址:https://portal.qiniu.com/signup?code=3lciek5byj2oi 起初看七牛云储存官方的开发文档,按照上面的说的进行配置的过程中,遇到了2个问题,一个是公司网络的问题(泪奔,网管拒绝了对七牛等云储存应用的上传的请求).另一个是开发文档中配置提示不够完善,也许是鄙人没有找到. 开发文档URL:http://developer.qiniu.com/docs/v6/sdk

FastDfs 学习进阶之环境安装及上传文件测试

一:环境介绍       10.63.13.138 tracker,nginx proxy 10.63.13.143 storage,nginx 二:资源包准备 FastDFS官方论坛:http://www.csource.org 资源下载路径:http://sourceforge.net/projects/fastdfs/files/ 本实验学习环境使用CENTOS 6.4 X64 需要下载的资源包: FastDFS源代码:FastDFS_v5.05.tar.gz nginx模块源代码:fas