SSH框架实现表单上传图片实例代码
发布时间 - 2026-01-11 03:09:52 点击率:次SSH框架的一个上传到服务器然后显示在页面上的小实例,用的是简单的form表单形式,数据包括图片的url地址保存在数据库中,图片上传到tomcat服务器下的项目文件夹里,然后页面展示图片, 算是好好把上传功能给过了一遍了,当然还有什么H5上传,分片上传等等这里就不提了,适用于初学上传文件的例子。

使用Bootstrap fileinput.js上传控件,
GitHub源码下载:https://github.com/kartik-v/b...
页面上需要引入的CSS和JS
<link rel="stylesheet" type="text/css" href="css/fileinput.min.css" rel="external nofollow" > <script type="text/javascript" src="js/fileinput.min.js"></script>
效果还是不错的
页面代码(参考)
<form action="uploadAction" method="post" enctype="multipart/form-data"
id="myform">
<!-- 图片标题 -->
<input class="form-control" type="text" name="img_title"
id="img_title" size="100" value="请输入图片名称" style="color: #999999;"
onfocus='if(this.value=="请输入图片名称"){this.value="";};'
onblur='if(this.value==""){this.value="请输入图片名称";};'> <br />
<!-- 下拉框 -->
<select name="img_state">
<option selected="selected">请选择审核状态</option>
<c:forEach items="${stateList }" var="sl">
<option value="${sl.s_id }">${sl.s_statename}</option>
</c:forEach>
</select> <br />
<br />
<!-- 图片上传控件 -->
<input type="file" name="file" id="file" class="file" /> <br>
</form>
<center>
<a href="executeimages" rel="external nofollow" class="btn btn-success">返回图集</a>
</center>
uploadAction(MyEclipse的web-info下创建uploadFile文件夹)
这里没有用smartupload或者是别的上传jar包
package com.Action;
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 java.io.OutputStream;
import java.util.List;
import org.apache.struts2.ServletActionContext;
import Enity.cms_images;
import Enity.cms_state;
import SQL_Implements.images_sql_Implem;
import com.opensymphony.xwork2.ActionSupport;
@SuppressWarnings("serial")
public class uploadAction extends ActionSupport {
/**
* 这里集合形式输入到流,防止上传重复文件,减少服务器压力
*/
private String img_title;// 图片标题
private int img_state;// 状态
// 上传文件存放路径
private final static String uploadAddres = "/uploadFile";
// 上传文件集合泛型为file对象
private List<File> file;
// 上传文件名集合
private List<String> fileFileName;
// 上传文件内容类型集合
private List<String> fileContentType;
cms_images images = new cms_images();
cms_state state = new cms_state();// 实例状态类
private images_sql_Implem isi;
cms_imagesAction cia;
public cms_imagesAction getCia() {
return cia;
}
public void setCia(cms_imagesAction cia) {
this.cia = cia;
}
public int getImg_state() {
return img_state;
}
public void setImg_state(int img_state) {
this.img_state = img_state;
}
public cms_state getState() {
return state;
}
public void setState(cms_state state) {
this.state = state;
}
public images_sql_Implem getIsi() {
return isi;
}
public void setIsi(images_sql_Implem isi) {
this.isi = isi;
}
public static String getUploadaddres() {
return uploadAddres;
}
public cms_images getImages() {
return images;
}
public void setImages(cms_images images) {
this.images = images;
}
public String getImg_title() {
return img_title;
}
public void setImg_title(String img_title) {
this.img_title = img_title;
}
public List<File> getFile() {
return file;
}
public void setFile(List<File> file) {
this.file = file;
}
public List<String> getFileFileName() {
return fileFileName;
}
public void setFileFileName(List<String> fileFileName) {
this.fileFileName = fileFileName;
}
public List<String> getFileContentType() {
return fileContentType;
}
public void setFileContentType(List<String> fileContentType) {
this.fileContentType = fileContentType;
}
// 上传方法
public String execute() throws Exception {
// 打印文件名称
System.out.println("文件名称:" + this.getFileFileName());
for (int i = 0; i < file.size(); i++) {
// 循环上传每个文件
uploadFile(i);
}
/**
* 这里有bug 想每次添加完后能在查询一遍下拉框的值
*/
// cia.execute();
return "uploadSuccess";
}
// 调用执行上传功能
@SuppressWarnings("deprecation")
public void uploadFile(int i) throws FileNotFoundException, IOException {
try {
InputStream in = new FileInputStream(file.get(i));
// ServletActionContext对象响应获取实际文件地址,getRealPath已经废弃不推荐用了
String dir = ServletActionContext.getRequest().getRealPath(
uploadAddres);
System.out.println("服务器路径:" + dir);
// 获取文件名称
String fileName = this.getFileFileName().get(i);
// 路径和文件名丢进file对象里
File uploadFile = new File(dir, fileName);
// 输出流
OutputStream out = new FileOutputStream(uploadFile);
// 设置文件大小1MB
byte[] buffer = new byte[1024 * 1024];
int length;
// 用循环从流中读取文件的大小
while ((length = in.read(buffer)) > 0) {
out.write(buffer, 0, length);
}
// 设置图片标题和全路径
images.setImg_title(img_title);
String imgURL = dir + "/" + fileName;
// 将全路径截取为相对路径
String strURL = imgURL.substring(32);
images.setImg_url(strURL);
// 设置状态的id,并将id对象传入
state.setS_id(img_state);
images.setImg_state(state);
// 添加图片的信息
int num = isi.addIMG(images);
System.out.println("是否上传了信息:" + num);
// 关闭输入流输出流,释放内存
in.close();
out.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
演示效果图
图片上传到了tomcat下的项目指定的文件夹里了
页面展示(这个部分就各有各有写法了)
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# SSH表单上传图片
# SSH框架
# 表单上传
# SSH框架实现上传图片
# SSH 框架简介
# ssh框架实现文件上传下载实例代码
# 浅谈SSH框架中spring的原理
# 详解ssh框架原理及流程
# 上传
# 请输入
# 上传文件
# 图片上传
# 各有
# 的是
# 下拉框
# 过了
# 就不
# 适用于
# 一遍
# 能在
# 用了
# 并将
# 或者是
# 请选择
# 表单
# 图集
# 数据库中
# 完后
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何在景安服务器上快速搭建个人网站?
html如何与html链接_实现多个HTML页面互相链接【互相】
个人网站制作流程图片大全,个人网站如何注销?
html5如何实现懒加载图片_ intersectionobserver api用法【教程】
如何为不同团队 ID 动态生成多个“认领值班”按钮
谷歌Google入口永久地址_Google搜索引擎官网首页永久入口
如何使用 jQuery 正确渲染 Instagram 风格的标签列表
,南京靠谱的征婚网站?
微博html5版本怎么弄发语音微博_语音录制入口及时长限制操作【教程】
香港服务器租用费用高吗?如何避免常见误区?
微信公众帐号开发教程之图文消息全攻略
QQ浏览器网页版登录入口 个人中心在线进入
php485函数参数是什么意思_php485各参数详细说明【介绍】
EditPlus 正则表达式 实战(3)
国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?
Laravel Telescope怎么调试_使用Laravel Telescope进行应用监控与调试
Internet Explorer官网直接进入 IE浏览器在线体验版网址
Laravel怎么实现搜索功能_Laravel使用Eloquent实现模糊查询与多条件搜索【实例】
Win11任务栏卡死怎么办 Windows11任务栏无反应解决方法【教程】
如何在云主机上快速搭建网站?
nodejs redis 发布订阅机制封装实现方法及实例代码
如何在阿里云完成域名注册与建站?
魔方云NAT建站如何实现端口转发?
如何在建站之星网店版论坛获取技术支持?
Laravel如何配置和使用队列处理异步任务_Laravel队列驱动与任务分发实例
Gemini手机端怎么发图片_Gemini手机端发图方法【步骤】
LinuxCD持续部署教程_自动发布与回滚机制
深圳网站制作培训,深圳哪些招聘网站比较好?
Laravel如何使用Blade模板引擎?(完整语法和示例)
UC浏览器如何设置启动页 UC浏览器启动页设置方法
Midjourney怎么调整光影效果_Midjourney光影调整方法【指南】
齐河建站公司:营销型网站建设与SEO优化双核驱动策略
Laravel如何记录自定义日志?(Log频道配置)
如何在阿里云香港服务器快速搭建网站?
Laravel项目结构怎么组织_大型Laravel应用的最佳目录结构实践
Laravel如何操作JSON类型的数据库字段?(Eloquent示例)
Windows10如何删除恢复分区_Win10 Diskpart命令强制删除分区
如何快速搭建高效WAP手机网站吸引移动用户?
如何在IIS管理器中快速创建并配置网站?
如何快速上传自定义模板至建站之星?
Laravel怎么使用Markdown渲染文档_Laravel将Markdown内容转HTML页面展示【实战】
Laravel Vite是做什么的_Laravel前端资源打包工具Vite配置与使用
Laravel distinct去重查询_Laravel Eloquent去重方法
Laravel如何处理跨站请求伪造(CSRF)保护_Laravel表单安全机制与令牌校验
Laravel如何构建RESTful API_Laravel标准化API接口开发指南
宙斯浏览器文件分类查看教程 快速筛选视频文档与图片方法
教你用AI将一段旋律扩展成一首完整的曲子
Laravel策略(Policy)如何控制权限_Laravel Gates与Policies实现用户授权
Laravel 419 page expired怎么解决_Laravel CSRF令牌过期处理
企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?

