JavaWEB SSH文件上传
一.提交表单的<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文件上传的更多相关文章
- JavaWeb:实现文件上传
JavaWeb:实现文件上传 理解文件上传: 1.上传文件就是把客户端的文件发送给服务器端. 2.HTTP响应的正文部分最常见的是HTML文档,但是也可以是其他任意格式的数据,如图片和声音文件中的数据 ...
- JavaWeb实现文件上传下载功能实例解析
转:http://www.cnblogs.com/xdp-gacl/p/4200090.html JavaWeb实现文件上传下载功能实例解析 在Web应用系统开发中,文件上传和下载功能是非常常用的功能 ...
- JavaWeb:实现文件上传与下载
JavaWeb:实现文件上传与下载 文件上传前端处理 本模块使用到的前端Ajax库为Axio,其地址为GitHub官网. 关于文件上传 上传文件就是把客户端的文件发送给服务器端. 在常见情况(不包含文 ...
- JavaWeb实现文件上传下载功能实例解析 (好用)
转: JavaWeb实现文件上传下载功能实例解析 转:http://www.cnblogs.com/xdp-gacl/p/4200090.html JavaWeb实现文件上传下载功能实例解析 在Web ...
- 使用传统javaweb进行文件上传
使用传统文件上传方式 1.配置依赖 <properties> <project.build.sourceEncoding>UTF-8</project.build.sou ...
- JavaWeb多文件上传及zip打包下载
项目中经常会使用到文件上传及下载的功能.本篇文章总结场景在JavaWeb环境下,多文件上传及批量打包下载功能,包括前台及后台部分. 首先明确一点: 无法通过页面的无刷新ajax请求,直接发下载.上 ...
- 深入分析JavaWeb Item40 -- 文件上传和下载
在Web应用系统开发中,文件上传和下载功能是很经常使用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现. 对于文件上传.浏览器在上传的过程中是将文件以流的形式提交到server端的.假设 ...
- JavaWeb 之文件上传
1. 文件上传的要求 1.1 上传对表单的限制 method="post"; enctype="multipart/form-data"; 表单中需要添加文件表 ...
- javaweb大文件上传
本文主要关于利用html表单上传文件的后台代码实现. 需要用到两个工具类Apache commons-fileupload和commons-io. 注意要校验是否选择文件上传,最开始写的时候没有加上校 ...
随机推荐
- protobuffer php使用
protobuffer是google推出的一种数据传的方式,具体压缩,体积小的特点 protobuffer本身不支持php,若要把.proto文件转化为php支持的文件,需要使用第三方的程序 alle ...
- POJ 1111
#include<iostream> #define MAXN 30 using namespace std; char _m[MAXN][MAXN]; bool mark[MAXN][M ...
- C++ 定时器Timer在项目中的使用
目录 1.情况说明 2.空循环实现 3.定时器实现 1.情况说明 由于最近要在项目里做弹出弹幕,要求是弹出1秒后消失,一开始我使用空循环进行计时,发现执行到这段代码CPU占用率上升十几个百分点,后来改 ...
- LeetCode题解-147 对链表进行插入排序 Medium
对链表进行插入排序. 插入排序的动画演示如上.从第一个元素开始,该链表可以被认为已经部分排序(用黑色表示). 每次迭代时,从输入数据中移除一个元素(用红色表示),并原地将其插入到已排好序的链表中. 插 ...
- zabbix 自动发现 相关
zabbix自动发现,是zabbix精髓所在. 生产中,一台服务器上可能会存在多个监控实例,比如:A服务器2个,B服务器4个, C服务器1个.单单靠套模板来完成监控,做法那太糟糕了.比如小明有100台 ...
- 2、如何解决xamarin没有相关教程的的指导贴
本篇文章主要在于解决xamarin相关文档偏少的问题. 最终的代码并不重要.重要的还是那种处理的方式 授人以渔 群里有群友讨论说需要读取安卓的 充电电流.这样的问题实际上在原生java有一堆.但是到了 ...
- webpack处理url资源的配置
webpack处理url资源的配置 1.安装 npm i url-loader -D 2.修改webpack.config.js const path = require('path'); // 启用 ...
- 编写代码:ATM的登陆界面(用户验证、主菜单的选择) 查询-- 存款-- 取款-- 退出
#include <stdio.h>#include <windows.h>int main (void){ int password,one,two,money1=10 ...
- elasticSearch6源码分析(1)启动过程
1.找到bin目录,下面有elasticSearch的sh文件,查看执行过程 exec \ "$JAVA" \ $ES_JAVA_OPTS \ -Des.path.home=&qu ...
- Android设计原则和设计模式
1. 设计模式的六大基本原则 1.0 总结: 因为抽象灵活性好,适应性广,只要抽象的合理,可以基本保持软件架构的稳定.而软件中易变的细节,我们用从抽象派生的实现类来进行扩展,当软件需要发生变化时,我们 ...