JQGrid之文件上传
文件/图片上传功能,简单总结如下
1.引入ajaxfileupload.js
注意:该文件需要在引入Jquery之后引入
下载链接:https://i.cnblogs.com/Files.aspx
2.colModel中文件上传name设置
{name:'cover',index:'cover',edittype:"file",editable:true,editoptions: {enctype: "multipart/form-data"},
formatter:function (value,option,rows) {
return "<img style='width:30%;height:10s%;' src='${pageContext.request.contextPath}/image/"+rows.cover+"'/>";
}},
3.前台编码
<%@page pageEncoding="UTF-8" contentType="text/html; utf-8" isELIgnored="false" %>
<html>
<link rel="stylesheet" href="statics/boot/css/bootstrap.css" type="text/css">
<link rel="stylesheet" href="statics/jqgrid/css/trirand/ui.jqgrid-bootstrap.css" type="text/css">
<script src="statics/boot/js/jquery-2.2.1.min.js" type="text/javascript"></script>
<script src="statics/boot/js/bootstrap.min.js" type="text/javascript"></script>
<script src="statics/jqgrid/js/trirand/i18n/grid.locale-cn.js" type="text/javascript"></script>
<script src="statics/jqgrid/js/trirand/jquery.jqGrid.min.js" type="text/javascript"></script>
<script src="statics/jqgrid/js/ajaxfileupload.js" type="text/javascript"></script> <script>
$(function () {
$('#tt').jqGrid({
url:'${pageContext.request.contextPath}banner/showBanners',
datatype:'json',
styleUI:'Bootstrap',
//cellEdit:true,
multiselect:true,
colNames:['编号', '名称', '图片', '描述', '状态','创建时间'],
collEdit:true,
colModel:[
{name:"id",align:'center',hidden:true},
{name:'title',align:'center',editable:true},
{name:'cover',index:'cover',edittype:"file",editable:true,editoptions: {enctype: "multipart/form-data"},
formatter:function (value,option,rows) {
return "<img style='width:30%;height:10s%;' " +
"src='${pageContext.request.contextPath}/image/"+rows.cover+"'/>";}},
{name:'description',align:'center',editable:true},
{name:'status',align:'center',editable:true,edittype:"select",
editoptions:{value:"正常:正常;冻结:冻结"}},
{name:'create_date',align:'center',formatter:"date",formatoptions:{scrformat:'Y-m-d H:i:s',newformat:'Y-m-d'}}
//格式化参考:http://www.cnblogs.com/hxling/archive/2010/10/10/1847334.html
],
pager:'#pager',
autowidth:true,
height:'60%',
rowNum : 3,
rowList : [2,3,4,5],
caption : "轮播图的详细信息",
editurl:'${pageContext.request.contextPath}/banner/oper',//设置编辑表单提交路径
viewrecords : true,
//recreateForm: true确保每添加或编辑表单是重新创建。
}).navGrid('#pager',{edit : true,add : true,del : true,search:false}, {
jqModal:true,closeAfterAdd: true,recreateForm:true,onInitializeForm : function(formid){
$(formid).attr('method','POST');
$(formid).attr('action','');
$(formid).attr('enctype','multipart/form-data');
},
afterSubmit:function (response) {
var status = response.responseJSON.status;
var id = response.responseJSON.message;
alert("确认修改")
if(status){
$.ajaxFileUpload({
url:"${pageContext.request.contextPath}/banner/upload",
fileElementId:"cover",
data:{id:id},
type:"post",
success:function () {
$("#tt").trigger("reloadGrid")
}
});
}
}
}, {
jqModal:true,closeAfterEdit: true,recreateForm:true,onInitializeForm : function(formid){
$(formid).attr('method','POST');
$(formid).attr('action','');
$(formid).attr('enctype','multipart/form-data');
},
afterSubmit:function (response) {
var status = response.responseJSON.status;
var id = response.responseJSON.message;
alert("确认添加")
if(status){
$.ajaxFileUpload({
url:"${pageContext.request.contextPath}/banner/upload",
fileElementId:"cover",
data:{id:id},
type:"post",
success:function () {
$("#tt").trigger("reloadGrid")
}
});
}
}
}
);
})
</script>
<body>
<table id="tt"></table>
<div id="pager" style="height: 30px"></div>
</body>
</html>
前台代码
4.后台编码
public void upload(String id, MultipartFile cover) throws IOException {
//需要在submit之后进行一次图片路径的修改
Banner banner = new Banner();
log.info("上传图片的原始名字"+cover.getOriginalFilename());
String realPath =httpSession.getServletContext().getRealPath("image");
cover.transferTo(new File(realPath,cover.getOriginalFilename()));
banner.setId(id);
banner.setCover(cover.getOriginalFilename());
bannerDAO.updateByPrimaryKeySelective(banner);
}
后台代码
JQGrid之文件上传的更多相关文章
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(56)-插件---单文件上传与easyui使用fancybox
系列目录 https://yunpan.cn/cZVeSJ33XSHKZ 访问密码 0fc2 今天整合lightbox插件Fancybox1.3.4,发现1.3.4版本太老了.而目前easyui 1 ...
- 基于jQuery Ajax实现无刷新文件上传
最近因项目需求更改,需要实现选择文件后即时上传至服务器,然后提交后,加载xls表格内容到jqgrid表格中,文件上传功能实现示例: 前端jsp页面: <form id="uploadF ...
- jquery.uploadify文件上传组件
1.jquery.uploadify简介 在ASP.NET中上传的控件有很多,比如.NET自带的FileUpload,以及SWFUpload,Uploadify等等,尤其后面两个控件的用户体验比较好, ...
- 11、Struts2 的文件上传和下载
文件上传 表单准备 要想使用 HTML 表单上传一个或多个文件 须把 HTML 表单的 enctype 属性设置为 multipart/form-data 须把 HTML 表单的method 属性设置 ...
- Java FtpClient 实现文件上传服务
一.Ubuntu 安装 Vsftpd 服务 1.安装 sudo apt-get install vsftpd 2.添加用户(uftp) sudo useradd -d /home/uftp -s /b ...
- 小兔Java教程 - 三分钟学会Java文件上传
今天群里正好有人问起了Java文件上传的事情,本来这是Java里面的知识点,而我目前最主要的精力还是放在了JS的部分.不过反正也不麻烦,我就专门开一贴来聊聊Java文件上传的基本实现方法吧. 话不多说 ...
- ,net core mvc 文件上传
工作用到文件上传的功能,在这个分享下 ~~ Controller: public class PictureController : Controller { private IHostingEnvi ...
- Web开发安全之文件上传安全
很长一段时间像我这种菜鸡搞一个网站第一时间反应就是找上传,找上传.借此机会把文件上传的安全问题总结一下. 首先看一下DVWA给出的Impossible级别的完整代码: <?php if( iss ...
- AutoIt实现Webdriver自动化测试文件上传
在运用WebDriver进行自动化测试时,由于WebDriver自身的限制,对于上传文件时Windows弹出的文件选择窗口无法控制,通过在网上查找资料锁定使用AutoIt来控制文件上传窗口. Auto ...
随机推荐
- .Net Core 学习使用Session、和Cookie验证身份
一.使用Session 1.1 Status.cs 中配置 public void ConfigureServices(IServiceCollection services) { services. ...
- C# Linq 常用查询操作符
限定操作: 1. All:用来确定是否序列中的所有元素都满足条件 2. Any:用来确定序列是否包含任何元素,有参方式用来确定序列中是否有元素满足条件 3. Contains:方法用来确定序列是否包含 ...
- 提高JavaScript 技能的12个概念
JavaScript 是一种复杂的语言.如果是你是高级或者初级 JavaScript 开发人员,了解它的基本概念非常重要.本文介绍 JavaScript 至关重要的12个概念,但绝对不是说 JavaS ...
- 上传文件不落地转Base64字符串
1. 问题描述 因需调用第三方公司的图像识别接口,入参是:证件类型.图像类型.图片base64字符串,采用http+json格式调用. 本来采用的方式是:前端对图片做base64处理,后端组装下直接调 ...
- 对于springboot的几种注入方法的个人看法
最近在知乎上面看到一篇关于程序员面试的问题,面试官问我们一般有几种注入的方法,这几种注入的方法分别在什么时候运用比合理,当时我看到这个时候懵逼了,由于我自己也是刚刚接触springboot不久,所以就 ...
- [记录]NGINX配置HTTPS性能优化方案一则
NGINX配置HTTPS性能优化方案一则: 1)HSTS的合理使用 2)会话恢复的合理使用 3)Ocsp stapling的合理使用 4)TLS协议的合理配置 5)False Start的合理使用 6 ...
- C#3.0新增功能04 扩展方法
连载目录 [已更新最新开发文章,点击查看详细] 扩展方法使你能够向现有类型“添加”方法,而无需创建新的派生类型.重新编译或以其他方式修改原始类型. 扩展方法是一种特殊的静态方法,但可以像扩展类型 ...
- httpclient 方式提供接口
在后台写好自己的方法: 打开shiro验证,设置url访问: 提供包调用http方式连接后台获取数据: String url = getUrl(); HttpClient client = new H ...
- 解决 document.getElementsByClassName 在 IE8 下的兼容下的问题
H5中新增了一个令人期待已久的方法:getElementsByClassName,这个方法让我们可以通过 class 属性中的类名来访问元素,这是极好的. but! 这个方法在IE9以下的浏览器是不支 ...
- 【杂谈】如何对Redis进行原子操作
什么时候需要进行需要原子操作? 很常见的例子,就是利用Redis实现分布式锁. 实现锁需要哪些条件? 我们知道要实现锁,就需要一个改变锁状态的方法.这个方法能原子地对锁的状态进行检查并修改.如果修改成 ...