文档章节

上传文件

盼
 
发布于 2017/07/10 23:26
字数 410
阅读 7
收藏 0
点赞 0
评论 0

package com.lanou.strusUpdate;

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

import org.apache.commons.io.FileUtils;
import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;

public class uploadAction extends ActionSupport {
    File[] liguocheng;
    String[]  liguochengFileName;
    InputStream is;
    
    public String upload() throws IOException{
        
    
        /*try {
            FileInputStream fis=new FileInputStream(liguocheng);
            String path=ServletActionContext.getServletContext().getRealPath("/upload/");
            System.out.println(path);
            FileOutputStream fos=new FileOutputStream(path+"/"+liguochengFileName,true);
            byte[] b=new byte[1024];
            int l=-1;
            while(fis.read(b)>0){
                fos.write(b);
            }
            fos.close();
            fis.close();
        
        } catch (FileNotFoundException e) {
        
            e.printStackTrace();
        } catch (IOException e) {
            
            e.printStackTrace();
        }*/    
        for(int i=0;i<liguocheng.length;i++){
            String path=ServletActionContext.getServletContext().getRealPath("/upload/");
            FileUtils.copyFile(liguocheng[i], new File(path+"/"+liguochengFileName[i]));
        }
    
        
        /*int a=liguochengFileName.lastIndexOf(".");
        String strname1= liguochengFileName.substring(0,a);
        String strname2=liguochengFileName.substring(a);*/
        //String newPath=strname1+System.currentTimeMillis()+strname2;
        
        
        
        
        System.out.println(System.currentTimeMillis());
        return SUCCESS;
    }
    
    public String download() throws FileNotFoundException{
        String path=ServletActionContext.getServletContext().getRealPath("/upload/");
        is=new FileInputStream(path+"/"+"1.jpg");
        String str="pc.jpg";
        ActionContext.getContext().getValueStack().set("down", str);
        return SUCCESS;
    }

    public File[] getLiguocheng() {
        return liguocheng;
    }

    public void setLiguocheng(File[] liguocheng) {
        this.liguocheng = liguocheng;
    }

    public String[] getLiguochengFileName() {
        return liguochengFileName;
    }

    public void setLiguochengFileName(String[] liguochengFileName) {
        this.liguochengFileName = liguochengFileName;
    }

    public InputStream getIs() {
        return is;
    }

    public void setIs(InputStream is) {
        this.is = is;
    }


}

 

 

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

    <constant name="struts.enable.DynamicMethodInvocation" value="false" />
    <!--ture代表启动 false停止 -->
    <constant name="struts.devMode" value="ture" />

    <package name="default" namespace="/" extends="json-default">
        <action name="fileupload" class="com.lanou.strusUpdate.uploadAction"
            method="upload">
            <result name="success">
                seccess.html
            </result>
        </action>
        
        <action name="fileDownload" class="com.lanou.strusUpdate.uploadAction"
            method="download">
            <result name="success" type="stream">
                <param name="inputName">is</param>
                <param name="contentDisposition">attachment;filename=${down}</param>
            </result>
            
        </action>
    </package>
    
</struts>

 

 

 

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

   <form action="fileupload"  method="post" enctype="multipart/form-data">
         请选择要上传的文件: <input type="file" name="liguocheng">
         <br>
           请选择要上传的文件: <input type="file" name="liguocheng">
           <br>
             请选择要上传的文件: <input type="file" name="liguocheng">
             <br>
               请选择要上传的文件: <input type="file" name="liguocheng">
               <br>
                 请选择要上传的文件: <input type="file" name="liguocheng">
   <input type="submit"> 
   
   </form>
</body>
</html>

 

 

 

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
   成功  <a href="fileDownload">下载文件</a>
</body>
 

© 著作权归作者所有

共有 人打赏支持
盼

粉丝 9
博文 88
码字总数 35377
作品 0
西安
后端工程师

暂无文章

python以太坊类库web3.py概览

python通过web3.py库与以太坊交互共同入口是web3对象。web3对象提供API接口,python开发应用与以太坊进行交互如钱包创建、支付、转账等连接JSON-RPC服务器进行。 Providers提供者 Providers使...

智能合约
3分钟前
0
0
【Android学习笔记】设置App启动页

先将启动页放到项目资源中,图片一般是1080*1920的jpg。 新建一个activity,如图: 创建成功之后,打开刚刚创建的activity,来进行代码的编写: >>>阅读全文

全部原谅
4分钟前
0
0
什么是React-redux、为什么使用React-redux、怎么使用React-redux

1、什么是React-redux React-redux是用于连接React和Redux的 2、为什么使用React-redux 使用React-redux可以使redux部分代码更简洁更明了,比如组建中需要使用到的数据都在mapStateToProps方...

kimyeongnam
7分钟前
0
0
Spring核心——Stereotype组件与Bean扫描

在注解自动装载中介绍了通过注解(Annotation)自动向Bean中注入其他Bean的方法,本篇将介绍通过注解(Annotation)向容器添加Bean的方法。 Spring的核心容器提供了@Component和@Bean注解来标...

随风溜达的向日葵
7分钟前
0
0
利用世界杯,读懂 Python 装饰器

Python 装饰器是在面试过程高频被问到的问题,装饰器也是一个非常好用的特性, 熟练掌握装饰器会让你的编程思路更加宽广,程序也更加 pythonic。 今天就结合最近的世界杯带大家理解下装饰器。...

猫咪编程
10分钟前
0
0
flink fold example

flink fold例子 import org.apache.flink.api.common.functions.*;import org.apache.flink.streaming.api.datastream.DataStream;import org.apache.flink.streaming.api.environment.S......

coord
12分钟前
0
0
c++ qt 组播总结

每个人都有不同的认知规律和习惯, 有的人喜欢搞一套严密的大理论, 论述起来滔滔不绝, 不管自己懂不懂, 反正读者/听者是没搞懂。 有的人喜欢从实践出发, 没看到代码, 不运行一下, 不看...

backtrackx
16分钟前
0
0
Sublime text2安装json格式化插件SublimePrettyJson[Windows]

一、下载SublimePrettyJson插件包 https://github.com/dzhibas/SublimePrettyJson 二、将下载的文件解压放到在package目录下面 C:\Users\lucky\AppData\Roaming\Sublime Text 3\Packages 每个......

lazy~
16分钟前
0
0
安装vue-cli 报4058错误

1. 4058是网络代理错误。 安装淘宝源修改一下就可以了: npm --registry https://registry.npm.taobao.org info underscore 改为cnpm执行: cnpm install --global vue-cli 安装成功: 试试版...

MrBoyce
17分钟前
0
0
CPU飙升分析

1、top -----看具体的进程 2、top -H -p pid ------该进程的线程 3、printf 0x%x 15248 ------将线程改为16进制 4、jstack 进程...

北极之北
20分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部