JAVAWeb SSH框架 上传文件,如2007的EXCEL

下面的代码是上传EXCEL的代码,其实,就是在上传文件到服务器,代码都差不多,只是接收的文件的类型改一下即可。

1.jsp 用的是struts2 标签

代码:

<s:file name="upload">

用form表单提交到Action

2.struts2 代码:

<action name="UploadExcel" class="com.javaweb.action.UploadExcelAction"
      method="uploadExcel">
            <result name="uploadExcelSuccess" >
            view/uploadExcelSuccess.jsp
            </result>    
            <result name="error" >
              view/uploadExcelErr.jsp
            </result>    
            <param name="allowedTypes">application/vnd.openxmlformats-officedocument.spreadsheetml.sheet</param>   //允许上传的文件类型,这个是2007EXCEL,即XLSX后缀
        </action>

3.Action代码:

public class UploadExcelAction extends ActionSupport {

 private File upload;(get,set代码省略,自动生成的代码而已)//用于接住jsp传过来的EXCEL文件
    private String uploadFileName;(get,set代码省略 ,自动生成的代码而已)//这个值不用进行处理,就能得到你传过来的EXCEL的文件名

 //uploadContentType这个值不用进行处理,就能得到你传过来的EXCEL文件的类型

//如: 如果是2007的EXCEL,就是application/vnd.openxmlformats-officedocument.spreadsheetml.sheet

 private String uploadContentType;(get,set代码省略,自动生成的代码而已)

private String allowedTypes;(get,set代码省略,自动生成的代码而已)//接住在struts2设置的值,用于进行文件类型验证

 private String savePath; //设置绝对路径,用于存放上传的EXCEL,get方法代码修改了,set 方法不变如下:

 public String getSavePath() {
        return savePath = ServletActionContext.getServletContext().getRealPath(
                "/uploadExcel");
    }

public void setSavePath(String savePath) {
        this.savePath = savePath;
    }

 public String uploadExcel() throws Exception {
        // 验证文件格式
        boolean flag = false;
        String[] allowedTypesStr = allowedTypes.split(",");
        for (int i = 0; i < allowedTypesStr.length; i++) {
            if (uploadContentType.equals(allowedTypesStr[i])) {
                flag = true;
            }
        }
        if (flag == false) {
            return "error";
        }
        File newExcel = new File(getSavePath() + "\\" + uploadFileName);
        if (newExcel.exists()) {
            newExcel.delete();
        }
        try {
            FileUtils.copyFile(upload, newExcel);
        } catch (Exception e) {
            e.printStackTrace();
        }
        // 删除临时文件
        upload.delete();
        return "uploadExcelSuccess";
    }

}

时间: 2024-10-29 04:01:38

JAVAWeb SSH框架 上传文件,如2007的EXCEL的相关文章

关于JavaWeb不使用框架上传文件的简单实现

好像最低支持3.0的JavaWeb项目: 前台页面代码: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="GBK"> 5 <title>测试上传</title> 6 </head> 7 <body> 8 <form action="/fileup/upTest" enctype="multipart

Android开发笔记(一百一十)使用http框架上传文件

HTTP上传 与文件下载相比,文件上传的场合不是很多,通常用于上传用户头像.朋友圈发布图片/视频动态等等,而且上传文件需要服务器配合,所以容易被app开发者忽略.就上传的形式来说,app一般采用http上传文件,很少用ftp上传文件. HttpURLConnection上传 很可惜Android没有提供专门的文件上传工具类,所以我们要自己写代码实现上传功能了.其实也不难,一样是按照普通网络访问的POST流程,只是要采用"multipart/form-data"方式来分段传输.另外文件上

android 使用AsyncHttpClient框架上传文件以及使用HttpURLConnection下载文件

AsyncHttpClient开源框架android-async-http还是非常方便的. AsyncHttpClient该类通经常使用在android应用程序中创建异步GET, POST, PUT和DELETE HTTP请求.请求參数通过RequestParams实例创建.响应通过重写匿名内部类 ResponseHandlerInterface的 方法处理. 1.看代码上传文件 public void uploadFile(ArrayList<String> sendFilesPath) {

[iOS 多线程 &amp; 网络 - 2.11] - ASI框架上传文件

A.ASI的上传功能基本使用 1.实现步骤 (1)创建请求 使用ASIFormDataRequest (2)设置上传文件路径 (3)发送请求 2.上传相册相片 UIImagePickerController用来选择图片 设置图片来源,可以选择相册 使用代理 UIImagePickerControllerDelegate方法,选择完成之后取得相片 1 // 2 // ViewController.m 3 // ASIUploadDemo 4 // 5 // Created by hellovoid

nodejs express 框架 上传文件

web 项目应用express4.0框架 html 表单post 文件上传失败,后端无法获取提交文件 express不支持文件上传. 方式一 若是图片,可以将图片转码为BASE64上传 前端框架angularjs代码 转换代码如下 $scope.filechange=function(index){ var file = this.files[0]; var url = webkitURL.createObjectURL(file); /* 生成图片 * --------------------

SNF快速开发平台3.0之--asp.net mvc4 强大的导出和不需要上传文件的批量导入EXCEL

数据的导入导出,在很多系统里面都比较常见,这个导入导出的操作,在Winform里面比较容易实现,但在Web上我们应该如何实现呢?本文主要介绍利用MVC4+EasyUI的特点,并结合文件上传控件,实现文件不需要上传到服务器上就可以马上进行处理并显示,然后确认后把数据写入数据库的过程. 我们知道,Web上对Excel的处理和Winform的有所差异,如果是在Web上处理,我们需要把Excel文档上传到服务器上,然后读取文件进行显示.但在SNF上确实实现了与Winform一样的不需要上传到服务器,而是

使用shiro安全框架上传文件时用HttpSession获取ServletContext为null问题解决方法。

<!--在shiroFilter 中加入一下配置--> <init-param> <param-name>targetFilterLifecycle</param-name> <param-value>true</param-value> </init-param> <!--shiroFilter配置 --> <filter> <filter-name>shiroFilter</f

ssh连接服务器以及scp上传文件方法

本地控制台输入 ssh [email protected]外网ip或内网ip,举例:ssh [email protected]      这是用用户名为root的用户登录192.168.133.196这个地址所在的后台.如果提示以下红色部分错误: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @ @@@@@@

通过ssh上传文件到目标主机

需要通过ssh上传文件到目标主机上,之前一直时通过ssh客户端来传文件的,这次因为本地没装客户端,所以考虑直接用终端通过ssh连接主机进行文件传输. 只需要一条命令就可以了: scp  /Users/root/Documents/generation/2017/codes/codetest/c/c++socket/demo1/server.cpp [email protected]:/home/guazi/server.cpp