百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

SSH框架 进行图片上传(详细图解,注释,让你一看就看得懂)

lipiwang 2024-10-25 15:54 6 浏览 0 评论

1.jsp代码 上传图片类型的 提交使用post提交 后面一点要写上这个 enctype="multipart/form-data"

<form name="upload" method="post" enctype="multipart/form-data" >

<a href="#" onclick="formSubmit('productAction_upload','_self');this.blur();">保存</a>

<tr>

<td class="columnTitle">产品图片:</td>

<td class="tableContent">

<!--上传图片、文件的代码--> <input type="file" name="upload" id="upload"

onchange="javascript:setImagePreview();">

<div id="localImag">

<img id="preview" width=-1 height=-1 style="diplay:none" />

</div>

</td>

</tr>

</from>

2.在Action中

//注意一定要记得定义这两个 private File upload 页面返回的上传数据。private String uploadFileName 文件名;

private File upload;//动作类上传的属性必须是file类型,upload为表单的name值

private String uploadFileName; //上传的文件名称,固定写法:name+FileName;

@Action(value="productAction_upload")

public String execute() throws Exception {

/*定义一个要保存到的路径 注意,如果想保存到项目中显示,直接更具路径找到自己想保存的地方,写上路径名就可以了,这里我是保存到我的一个项目下了,等会要在页面进行回显数据*/

String path = "E:ilcbs_server_web//src//main//webapp//images//upload//";

//判断路径名是否存在,不存在则创建 mkdir

File file = new File(path);

if(!file.exists()){

file.mkdir();

}

//将页面传过来的数据通过FileUtils 拷贝到我们刚刚定义的路径下

FileUtils.copyFile(upload, new File(file,uploadFileName));

//获取路径名+文件名的字符串:自己做测试用的可写可不写根据需求了

String file2 = new File(file,uploadFileName).toString();

System.out.println("文件名:"+uploadFileName);

System.out.println("file2:"+file2);

//想把图片在页面回显,因此自保存文件名到数据库就可以了 路径通过项目的相对路径来获取

//uploadFileName 就是文件名,不要赋值什么的直接 private String uploadFileName; 定义好getset 后就能获得上传的文件名

model.setProductImage(uploadFileName);//给数据库图片的属性名赋值ProductImage上图片名字

productService.saveOrUpdate(model);//调用保存方法保存数据

return "alist";

}

3.页面面回显

//style="width:50px;height:50px" 设置图片显示大小 如上我的图片保存到 //E://ilcbs_server_web//src//main//webapp//images //upload//中的 ,那么我直接用${pageContext.request.contextPath }获取到webapp目录下,后面再拼接目录名直到自己的文件名

<img style="width:50px;height:50px" src="${pageContext.request.contextPath }/images/upload/${o.productImage}" />

//这种方法提交的话,每次上传完后都不会立即在页面回显数据的 可以自己手动刷新项目,再刷新页面就可以了。想解决的话可以放到tomcat中,但是下次重启服务器会丢失数据,不想放进去的话可以配置下Eclipse,在设置中勾选refresh即可 。如下图:配置后就不需要刷新项目了,直接刷新页面即可。

相关推荐

前端 JavaScript 字符串中提取数字

varstr="4500元";varnum=parseInt(str);alert(num);//4500如果字符串前面有非数字字符,上面这种方法就不行了:var...

使用JavaScript如何获取网站网址(js如何获取浏览器信息)

在做网站开发时,我们有时候会获取当前页面的完整路径。在网页前端如何实现呢?请在网页脚本代码段中粘贴如下代码。functiongetRootPath(){//获取当前网址,...

java文本对比工具源码8(java比较文本相似度)

/***ParseatextualrepresentationofpatchesandreturnaListofPatch*objects.*@paramtextline...

JavaScript实现的9大排序算法(js排序方法)

笔试面试经常涉及各种算法,本文简要介绍常用的一些算法,并用JavaScript实现。1、插入排序1)算法简介插入排序(Insertion-Sort)的算法描述是一种简单直观的排序算法。它的工作原理是通...

使用函数化的Javascript代码编写方式

对于Javascript介绍想必大家都耳熟能详啦,基于函数化的编程语言,基于浏览器运行的编程语言,web开发语言,前端开发必备语言,blablabla...Javascript是一个非常灵...

Js基础31:内置对象(js内置对象是什么意思)

js里面的对象分成三大类:内置对象ArrayDateMath宿主对象浏览器提供的对象(如bom、dom等等)自定义对象开发人员自己定义的对象内置对象——所谓内置对象,就是JavaScript自...

js获取上传文件类型以及大小的方法

前端web上传文件时,需要在上传之前判断一下文件的类型以及文件的大小,HTML为前端的标记语言是无法做到这一点,只能使用javascript动态脚本代码来实现。js获取上传文件大小的方法示例代码:&...

黑客入门实践:如何绕过前端过滤上传文件

今天开始,我们就要开始学习具体的漏洞了,但是希望大家学完后,不要轻易"入侵"网站哦,当时测试环境下除外。今天的课程是关于“文件上传漏洞”,据安界网的老师介绍,文件上传漏洞仅次于命令执行...

Java文件上传细讲(java文件夹上传)

什么是文件上传?文件上传就是把用户的信息保存起来。为什么需要文件上传?在用户注册的时候,可能需要用户提交照片。那么这张照片就应该要进行保存。免费学习资料获取方式上传组件(工具)为什么我们要使用上传工具...

鸿蒙上实现“翻译”功能(鸿蒙宴全文翻译)

本章节我们来制作中文翻译成英文的实例(运行在HarmonyOS上),通过HTTP去配合API进行实现。需求分析如下:文字输入HTTP协议使用文字翻译控件介绍①HTTP数据请求官方文档请求...

JavaScript从入门到精通(javascript 入门教程)

前几天,我们学习了JavaScript的入门课程,但是要想做网站,仅仅学会入门是不够的,今后的几天,我将带领大家精通JavaScript,希望大家好好学习!JS内置对象String对象:字符串对象,提...

第15天|16天搞定前端,javascript语法篇(干货)

JavaScript是互联网上最流行的脚本语言,这门语言可用于HTML和web,可广泛用于服务器、PC、笔记本电脑、平板电脑和智能手机等设备。它是一个脚本语言,它是一个轻量级,但功能强大的编程...

通过js来实现打字效果(js如何输入)

有时候浏览网页经常会看见一些页面出现一些打字的效果,那么是怎么实现的呢?逻辑确定目标容器,在哪个容器进行输出确定输出内容,当前直接根据目标容器确定输出内容即可需要控制输出频率,因此需要循环输出完毕代码...

手把手教你学会一键还原混淆js原理

1.短变量名在以下示例代码中,我们将变量“customerName”替换为“a”:vara="JohnSmith";console.log(a);2.随机变量名在以下示例代码...

sql中常用的字符串函数详解(sql字符串函数有哪些)

在日常开发中遇到处理最多的可能字符串要算其中一个了,什么替换啊截取啊大小写转换啊、删除空格啊等等,这些操作我们可以在前端操作,也可以直接在数据库的sql中操作,那么我们来看一下sql中处理字符串的...

取消回复欢迎 发表评论: