android struts2 图片上传,xhEditor struts2实现图片上传

ec34d8fd0b4c3e8906f265e615ecd465.png

如果想要出现上传按钮,在xhEditor设置以下参数:

html5Upload : false                     //此属性必须为false

upImgUrl : "ImgUpload.action" //上传服务器接口

onUpload : insertUpload            //服务器返回信息,JSON格式

一、前台代码

$(function() {

$('#content').xheditor( {

tools : 'full', //也可自定义tools,这里为full

html5Upload : false, //此属性必须为false 否则无法上传图片

upImgUrl : "ImgUpload.action",

onUpload : uploadImg

});

function uploadImg(data) {

//...回调函数

}

})

二、Struts2上传代码

public class ImgUploadAction extends ActionSupport {

private String err = "";

private String msg; //返回信息

private File filedata; //上传文件

private String filedataFileName; //文件名

public String imgUpload() {

//获取response、request对象

ActionContext ac = ActionContext.getContext();

HttpServletResponse response = (HttpServletResponse) ac.get(ServletActionContext.HTTP_RESPONSE);

HttpServletRequest request = (HttpServletRequest) ac.get(ServletActionContext.HTTP_REQUEST);

response.setContentType("text/html;charset=gbk");

PrintWriter out = null;

try {

out = response.getWriter();

} catch (IOException e1) {

e1.printStackTrace();

}

String saveRealFilePath = ServletActionContext.getServletContext().getRealPath("/upload");

File fileDir = new File(saveRealFilePath);

if (!fileDir.exists()) { //如果不存在 则创建

fileDir.mkdirs();

}

File savefile;

savefile = new File(saveRealFilePath + "/" + filedataFileName);

try {

FileUtils.copyFile(filedata, savefile);

} catch (IOException e) {

err = "错误"+e.getMessage();

e.printStackTrace();

}

String fileName = request.getContextPath() + "/upload/" + filedataFileName;

msg = "{"err":"" + err + "","msg":"" + fileName + ""}";

out.print(msg); //返回msg信息

return null;

}

public String getErr() {

return err;

}

public void setErr(String err) {

this.err = err;

}

public String getMsg() {

return msg;

}

public void setMsg(String msg) {

this.msg = msg;

}

public File getFiledata() {

return filedata;

}

public void setFiledata(File filedata) {

this.filedata = filedata;

}

public String getFiledataFileName() {

return filedataFileName;

}

public void setFiledataFileName(String filedataFileName) {

this.filedataFileName = filedataFileName;

}

}三、Struts2配置文件

class="com.itmyhome.ImgUploadAction">

效果如图:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/573910.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python如何画出多个独立的图片_python实现在一个画布上画多个子图

matplotlib 是可以组合许多的小图, 放在一张大图里面显示的. 使用到的方法叫作 subplot. 均匀画图 使用import导入matplotlib.pyplot模块, 并简写成plt. 使用plt.figure创建一个图像窗口. 1 2 3 import matplotlib.pyplot as plt plt.figure() 使用plt.subplot来创建小图. plt.…

e5cc温控仪通讯参数设定_产品介绍||DeltaWiFi通讯型多功能电表DPMC520W

Delta-WiFi通讯型多功能电表DPM-C520W台达WiFi通讯型多功能电表DPM-C520W ,使用无线通信技术,非常适合于挑高空间和不易配线的盘体使用。可支持各种电力参数量测及谐波量测,支持报警设定、参数群组化设定,采用MODBUS-TCP协议&…

文件设置索引_什么样的网站结构备受搜索引擎喜爱?

网站在优化中,对于收录问题也非常重视,但很多时候,网站各方面都做的很好但就是蜘蛛不抓取,这个时候就要考虑是网站结构问题了,导致网站页面无法被正常抓取。那么怎样才能提升搜索引擎的抓取呢?什么样的结构…

函数运行 形参实参变化 内存空间_可能python创始人都不知道的,python函数实参形参讲解...

今天我们来学习一下python函数的用法函数是带名字的代码块,我们可以直接调用函数,无需反复板鞋完成该函数的代码1.下面我们来看一个简单的函数首先定义一个函数,def是定义的意思,后面是函数名在函数中同样使用缩进来区分语句是否在…

小说阅读网站设计HTML,40多个漂亮的网页表单设计实例

网页表单是访问者与网站拥有者主要的沟通途径。返馈总是重要的,这就是我们为什么确保网页表单容易理解和使用起来比较直观的原因,尽管如此,甚至在形式设计中它也担当创意中的有效部分。网页表单并非都是乏味的,使用css或flash,你能…

abap 添加alv上的工具栏的按钮_你需要属于自己的PPT工具栏!

人类使用工具的历史,是我们成为人类 ,并且不断进步的历史。对于我们设计师而言,认识并掌握设计工具,是我们成为设计师的开始。而根据自己的需要,升级、改造设计工具,则是我们向更深层水平的进阶过程。Power…

java根据pdf模板生成pdf_PDF文件如何生成链接

本文介绍如何将PDF文件在线分享。首先我们打开maipdf的网站,因为市场上做pdf安全分享的网站非常少,所以建议使用maipdf打开网站之后,选择您需要分享的pdf文件进行上传生成后的链接您可以打开看到您的pdf文件,并且在改页面下&#…

在Linux服务器上配置phpMyAdmin

使用php和mysql开发网站的话,phpmyadmin是一个非常友好的mysql管理工具,并且免费开源,国内很多虚拟主机都自带这样的管理工具,配置很简单,接下来在linux服务器上配置phpmyadmin来管理MySQL数据库 首先访问phpmyadmin官…

java 换行分割_用Java开发自己的Kubernetes控制器,想试试吗?

简洁清爽的代码风格应该是大多数工程师所期待的。在工作中笔者常常因为起名字而纠结,夸张点可以说是编程 5 分钟,命名两小时!究竟为什么命名成为了工作中的拦路虎。每个公司都有不同的标准,目的是为了保持统一,减少沟通…

python大神的成长之路_我的Python成长之路

Linux命令-文件、磁盘管理—01 1.文件管理 <1>查看文件信息&#xff1a;ls ls是英文单词list的简写&#xff0c;其功能为列出目录的内容&#xff0c;是用户最常用的命令之一&#xff0c;它类似于DOS下的dir命令。 Linux文件或者目录名称最长可以有265个字符&#xff0c;“…

mac pycharm安装设置_Mac系统Python、PyCharm安装及使用方法详解

一、下载安装Python3解释器使用Python3Python之父Guido van Rossum在邮件列表上宣布 Python 2.7将于2020年1月1日终止支持。用户如果想要在这个日期之后继续得到与Python 2.7有关的支持&#xff0c;则需要付费给商业供应商。12**Guido van Rossum 表示&#xff1a;**Lets not p…

《JAVA课程设计》实训第四天——《猜猜看》游戏

第四天&#xff0c;本来想进一步去改进《猜猜看》游戏的。可是非常多问题都不理解。也不熟悉怎么去弄到连接数据库。统计猜对次数&#xff0c;所以并没有进行再多的改动。 基本上就是这种执行结果了 import java.awt.EventQueue; import javax.imageio.ImageIO; import jav…

游戏笔记本计算机购买,2021大学生买电脑,容易犯的七种错误!游戏本和轻薄本买哪个?...

要买电脑的小伙伴们&#xff0c;难道你们指望电脑很好买&#xff1f;怎么买都不会亏&#xff1f;然后只要想买&#xff0c;它就有货&#xff1f;然后怎么买都够用&#xff1f;然后只要喜欢的女孩&#xff0c;一追求就ok&#xff1f;所以今天这期视频&#xff0c;我就随便聊聊大…

gradle安装与配置_gradle相关安装

前言之前一直接触maven&#xff0c;因为换了工作的原因偶然接触了gradle。因为对gradle不太了解&#xff0c;所以在安装与使用的时候出现了这样那样的问题。gradle在Windows系统的安装与配置1、gradle的下载与安装下载链接&#xff1a;https://gradle.org/releases/。(可以根据…

java selenium (二) 环境搭建方法一

webdriver 就是selenium 2。 webdriver 是一款优秀的&#xff0c;开源的&#xff0c;自动化测试框架。 支持很多语言。 本文描述的是用java Eclipse 如何搭建环境 阅读目录首先下载好Eclipse 和配置好Java 环境变量 步骤省略&#xff0c; 请百度方法一 添加jar包 官方下载地…

arduino char*转string_Java 中 String 类的常用方法汇总

一、String 类的概念以及特性1、String 类的概念String 类代表字符串&#xff0c;在 java.lang 包中。字符串是常量 &#xff0c;用双引号引起来表示。 它的值在创建之后不能更改 。由 0 或多个字符组成&#xff0c;可以变相的理解成是一个由字符组成的数组。2、String 类的特性…

河北体检系统诚信企业推荐_应用多的隔膜计量泵价格诚信企业推荐

应用多的隔膜计量泵价格诚信企业推荐无害化处理&#xff1a;经对标&#xff0c;注意药剂量可以适当降低&#xff0c;能降低药剂量的单位&#xff0c;反之降低。车用齿轮箱定位测量仪与计量泵计量无关&#xff0c;关键在于他们都是直线运动&#xff0c;动力输出的横轴主运动&…

it计算机哪些专业术语,IT之家学院:笔记本电脑专业术语科普

IT之家网友现在为大家整理了一些在笔记本电脑商的专业术语解释&#xff0c;比如触摸屏、触摸板、指纹识别等具体涵义。触摸屏电阻式触摸屏是在强化玻璃表面分别涂上两层OTI 透明氧化金属电层&#xff0c;两层之间用细小的透明隔离点隔开。外层OTI涂层作导电体&#xff0c;内层O…

ideajava目录显示类成员_面试:C++不可继承类

作者&#xff1a;wxquare链接&#xff1a;https://www.cnblogs.com/wxquare/p/7280025.html面试中可能遇到让设计一个无法被继承的类。最简单的实现是将该类的构造函数设置为私有的&#xff0c;然后通过静态成员函数调用私有构造函数实例化对象&#xff0c;这样的类确实不可继承…

c++ 三维数组 初始化_013 JAVA 多维数组及数组的拷贝、冒泡排序、二分法查找...

1.多维数组多维数组的元素又是数组&#xff0c;可以有二维、三维、甚至更多维数组1.1二维数组的声明&#xff1a;数据类型 [][] new 数据类型[一维长度][二维长度]public class Test01 {public static void main(String[] args) {//一维数组的静态初始化 数据类型[] 数组名 …