一.提交表单的<form> method属性必须为post  并且添加enctype="multipart/form-data" 属性

前台:

<td>上传资质:</td>
<td>
<input type="file" name="upload">
</td>

  

 UploadUtils工具类
package com.home.utils;

import java.util.UUID;

/**
* 文件上床的工具类
* @author Administrator
*
*/
public class UploadUtils {
/**
* 传入文件名称,返回唯一的名称
* @param filename
* @return
*/
public static String getUUIDName(String filename){
//先查找 从后往前找
int index = filename.lastIndexOf(".");
//截取后缀名
String lastname = filename.substring(index,filename.length());
//System.out.println(filename);
//唯一字符串
String uuid = UUID.randomUUID().toString().replace("-", "");//默认带有- return uuid+lastname;
}
public static void main(String[] args) {
String filename = "gril.jsp";
System.out.println(getUUIDName(filename));
}
}

  domain等文件中添加文件上传路径属性

  WEB层代码(连同增加客户一起)

/**
* 文件上传,需要在Action类中定义成员的属性,命名是有规则的!!
* private File upload; //表示要上传的文件(与前台name一致) io包的File类
* private String uploadFileName; //表示上传文件的名称(没有中文乱码--已解决)
* private String uploadContentType;//表示上传文件的MIME类型
* 提供set方法,拦截器就注入值了
*/
private File upload;
private String uploadFileName;
private String uploadContentType; public void setUpload(File upload) {
this.upload = upload;
} public void setUploadFileName(String uploadFileName) {
this.uploadFileName = uploadFileName;
} public void setUploadContentType(String uploadContentType) {
this.uploadContentType = uploadContentType;
} public String save() throws IOException{
//做文件的上传,说明用户选择了上传的文件
if (uploadFileName!=null) {
//打印
//System.out.println("文件名称:"+uploadFileName);
System.out.println("文件类型:"+uploadContentType);
//把名称处理一下
String uuidname = UploadUtils.getUUIDName(uploadFileName);
//把文件上传到D:\\Tomcat8.0\\webapps\\upload
String path = "D:\\Tomcat8.0\\webapps\\upload\\";
//创建file对象
File file = new File(path+uuidname);
//简单方式
FileUtils.copyFile(upload, file);//导org.apache.commons.io的包 //把文件上传的路径,保存到客户表中
customer.setFilepath(path+uuidname);
}
customerService.save(customer);
return "save";
}

  

**注

  1.文件大小非常有限(默认2097152为2M),可以自行设置

在struts.xml文件中添加 

<!-- 设置上传文件总大小 -->
<constant name="struts.multipart.maxSize" value="20971520"></constant>

  

  2.也可以设置允许的扩展名

在struts.xml文件中的上传文件action标签中添加

<!-- 引入默认拦截器 -->
<interceptor-ref name="defaultStack">
<!-- 决定上传文件的类型 -->
<param name="fileUpload.allowedExtensions">.jpg,.txt</param>
</interceptor-ref>

  

 

JavaWEB SSH文件上传的更多相关文章

  1. JavaWeb:实现文件上传

    JavaWeb:实现文件上传 理解文件上传: 1.上传文件就是把客户端的文件发送给服务器端. 2.HTTP响应的正文部分最常见的是HTML文档,但是也可以是其他任意格式的数据,如图片和声音文件中的数据 ...

  2. JavaWeb实现文件上传下载功能实例解析

    转:http://www.cnblogs.com/xdp-gacl/p/4200090.html JavaWeb实现文件上传下载功能实例解析 在Web应用系统开发中,文件上传和下载功能是非常常用的功能 ...

  3. JavaWeb:实现文件上传与下载

    JavaWeb:实现文件上传与下载 文件上传前端处理 本模块使用到的前端Ajax库为Axio,其地址为GitHub官网. 关于文件上传 上传文件就是把客户端的文件发送给服务器端. 在常见情况(不包含文 ...

  4. JavaWeb实现文件上传下载功能实例解析 (好用)

    转: JavaWeb实现文件上传下载功能实例解析 转:http://www.cnblogs.com/xdp-gacl/p/4200090.html JavaWeb实现文件上传下载功能实例解析 在Web ...

  5. 使用传统javaweb进行文件上传

    使用传统文件上传方式 1.配置依赖 <properties> <project.build.sourceEncoding>UTF-8</project.build.sou ...

  6. JavaWeb多文件上传及zip打包下载

    项目中经常会使用到文件上传及下载的功能.本篇文章总结场景在JavaWeb环境下,多文件上传及批量打包下载功能,包括前台及后台部分.  首先明确一点:  无法通过页面的无刷新ajax请求,直接发下载.上 ...

  7. 深入分析JavaWeb Item40 -- 文件上传和下载

    在Web应用系统开发中,文件上传和下载功能是很经常使用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现. 对于文件上传.浏览器在上传的过程中是将文件以流的形式提交到server端的.假设 ...

  8. JavaWeb 之文件上传

    1. 文件上传的要求 1.1 上传对表单的限制 method="post"; enctype="multipart/form-data"; 表单中需要添加文件表 ...

  9. javaweb大文件上传

    本文主要关于利用html表单上传文件的后台代码实现. 需要用到两个工具类Apache commons-fileupload和commons-io. 注意要校验是否选择文件上传,最开始写的时候没有加上校 ...

随机推荐

  1. jsp页面,jstl标签中的数据在<%%>java中使用

    可参考jsp的API隐式对象.. 这部分数据其实被保存在page域中,但jsp中如果使用java代码需要在特定的标签中<%%>,在这个标签中可使用的只有pageContext对象,所以可以 ...

  2. express+nodemon 修改后浏览器自动刷新

    添加nodemon模块 cnpm install --save nodemon 根目录添加文件 nodemon.json { "restartable": "rs&quo ...

  3. 8.在XamarinAndroid上进一步控制包的大小

    在Android上链接 Xamarin.Android应用程序使用链接器来减小应用程序的大小.链接器使用应用程序的静态分析来确定哪些程序集.类型.成员被实际使用.链接器的行为就像一个GC,不断寻找被引 ...

  4. 线程安全单例最佳实践,C#中的Lazy是如何保证线程安全的

    在.NET 4.0之后,.NET Framework中提供了一种安全的延迟加载类型LazyLazy能够在多线程环境下,保证GetValue函数只执行一次,从而实现单例模式 在过去,实现单例模式我们通常 ...

  5. [webrtc] RTX的处理

    以前笔记,整理 webrtc中默认开启rtx用于丢包重传,rtx的介绍可以参考rfc4588,https://tools.ietf.org/html/rfc4588#section-4 rtx使用额外 ...

  6. 查看LINUX 系统硬件等详细信息

    转载这位朋友[地址] 几个cpu more /proc/cpuinfo |grep "physical id"|uniq|wc -l 每个cpu是几核(假设cpu配置相同) mor ...

  7. UTF8最好不要带BOM

    摘自:http://www.cnblogs.com/findumars/p/3620078.html   几周前还在为BOM的问题苦恼着...正如@梁海所说,“不含 BOM 的 UTF-8 才是标准形 ...

  8. AAAI2019 | 基于区域分解集成的目标检测 论文解读

    Object Detection based on Region Decomposition and Assembly AAAI2019 | 基于区域分解集成的目标检测 论文解读 作者 | 文永亮 学 ...

  9. PyCharm2018专业版激活步骤

    激活步骤: 1.更改hosts文件,2 获取注册码,  3 完成注册. 1. 更改host文件 hosts文件的路径 : c:\windows\system32\drivers\etc\hosts 将 ...

  10. freepbx对接gms网关

    前面的文章阿里云使用镜像安装freepbx , 安装freepbx后创建sip分机 ,freepbx的SIP通话客户端X-lite Yate eyeBeam Linphone我们已经成功的创建好了分机 ...