java 项目使用 ajaxfileupload
2019独角兽企业重金招聘Python工程师标准>>>
html
<style>#oDiv {height: 200px;width: 200px;border: 1px solid #000;text-align: center;margin-bottom: 10px;}</style><div class="all"><div id="oDiv"><img src="" id="showPic" style="height:100%;width:100%" /></div><input type="file" id="oInput" name="file" onchange="ShopPictureInfoDlg.upload_cover(this)"/></div><!-- form 表单里面的imageUrl录入框 实际是要隐藏的 -->
<input id="imageUrl" name="图片url" type="text" name="ImageUrl" placeholder="defaultPath" value=""/>
js:
注意里面的complete 设置为false ,因为该项目的ajax属性设置了需要执行compele的方法,而配置的环境却不可以解析,回有关于
XMLHttpRequest getResponseHeader() 没有这个function的错误
//具体的上传图片方法
function ajax_upload(feid, callback, ext) {if (image_check(feid)) {$.ajaxFileUpload({url: Feng.ctxPath +"/shop/uploadImage",secureuri : false,fileElementId: feid,dataType: 'json',data: {fileType: ext},//增加推送的属性type: 'post',async: true,complete: false,success:function (data) {if (data.success){$("#imageUrl").val(data.imagePath);$("#showPic").attr("src", data.imagePath);}alert(data.message);},error:function (data) {console.log(data);console.log("error");}});}
};
ajaxfileupload:
修改了里面uploadHttpData type="json", 由于返回的是application/json ,所以获取的数据回带上 <pre 标签,不是标准的xml 所以要做数据替换
data = jQuery.parseJSON(jQuery(data).text());
// eval("data = " + data);
/*** 初始化详情对话框*/
var ShopPictureInfoDlg = {shopPictureInfoData : {},validateFields: {shopId: {validators: {notEmpty: {message: '店铺id不能为空'}}},imageUrl: {validators: {notEmpty: {message: '图片url不能为空'}}},}
};/*** 清除数据*/
ShopPictureInfoDlg.clearData = function() {this.shopPictureInfoData = {};
}/*** 设置对话框中的数据** @param key 数据的名称* @param val 数据的具体值*/
ShopPictureInfoDlg.set = function(key, val) {this.shopPictureInfoData[key] = (typeof val == "undefined") ? $("#" + key).val() : val;return this;
}/*** 设置对话框中的数据** @param key 数据的名称* @param val 数据的具体值*/
ShopPictureInfoDlg.get = function(key) {return $("#" + key).val();
}/*** 关闭此对话框*/
ShopPictureInfoDlg.close = function() {parent.layer.close(window.parent.ShopPicture.layerIndex);
}/*** 收集数据*/
ShopPictureInfoDlg.collectData = function() {this.set('id').set('shopId').set('imageUrl').set('noteText');
}
/*** 验证数据是否为空*/
ShopPictureInfoDlg.validate = function () {$('#shopPictureForm').data("bootstrapValidator").resetForm();$('#shopPictureForm').bootstrapValidator('validate');return $("#shopPictureForm").data('bootstrapValidator').isValid();
};
/*** 提交添加*/
ShopPictureInfoDlg.addSubmit = function() {this.clearData();this.collectData();if (!this.validate()) {return;}//提交信息var ajax = new $ax(Feng.ctxPath + "/shopPicture/add", function(data){Feng.success("添加成功!");window.parent.ShopPicture.table.refresh();ShopPictureInfoDlg.close();},function(data){Feng.error("添加失败!" + data.responseJSON.message + "!");});ajax.set(this.shopPictureInfoData);ajax.start();
}/*** 提交修改*/
ShopPictureInfoDlg.editSubmit = function() {this.clearData();this.collectData();if (!this.validate()) {return;}//提交信息var ajax = new $ax(Feng.ctxPath + "/shopPicture/update", function(data){Feng.success("修改成功!");window.parent.ShopPicture.table.refresh();ShopPictureInfoDlg.close();},function(data){Feng.error("修改失败!" + data.responseJSON.message + "!");});ajax.set(this.shopPictureInfoData);ajax.start();
}/*** 子窗口获取父窗口的值* @param id*/
function init() {// 初始化内容var url = parent.document.URL;var shopId = $("#shopId",window.parent.document).text();if(url.indexOf("detail") != -1){$("#shopId").val(shopId);}
};
init();/*** 图片上传*/
ShopPictureInfoDlg.upload_cover = function(obj) {//回传后缀var filePath = $("input[name='file']").val();var extStart = filePath.lastIndexOf(".");var ext = filePath.substring(extStart, filePath.length).toUpperCase();ajax_upload(obj.id, function (data) { //function(data)是上传图片的成功后的回调方法var isrc = data.relatPath.replace(/\/\//g, '/'); //获取的图片的绝对路径$('#image').attr('src', basePath + isrc).data('img-src', isrc); //给<input>的src赋值去显示图片}, ext);
}//具体的上传图片方法
function ajax_upload(feid, callback, ext) {if (image_check(feid)) {$.ajaxFileUpload({url: Feng.ctxPath +"/shop/uploadImage",secureuri : false,fileElementId: feid,dataType: 'json',data: {fileType: ext},//增加推送的属性type: 'post',async: true,complete: false,success:function (data) {if (data.success){$("#imageUrl").val(data.imagePath);$("#showPic").attr("src", data.imagePath);}alert(data.message);},error:function (data) {console.log(data);console.log("error");}});}
};
function image_check(feid) { //自己添加的文件后缀名的验证var img = document.getElementById(feid);return /.(jpg|png|gif|bmp)$/.test(img.value) ? true : (function () {Feng.info('图片格式仅支持jpg、png、gif、bmp格式,且区分大小写。');return false;})();
}$(function() {Feng.initValidator("shopPictureForm", ShopPictureInfoDlg.validateFields);
});
contrller:
只是为了返回数据,没写实质性文件保存
/*** 图片上传*/@RequestMapping(method = RequestMethod.POST ,value = "/uploadImage" )@ResponseBodypublic Object UploadImage(@RequestPart("file") MultipartFile file){//文件上传暂时没找到显示返回自定义异常方法,使用正常数据返回Map<String,Object> result = new HashMap<>();String path = Class.class.getClass().getResource("/").getPath();path = path.replace("/target/classes/","/src/main/webapp/static/img/logo.png");result.put("success",true);result.put("message","上传成功!");result.put("imagePath",path);return result;}
转载于:https://my.oschina.net/u/3556610/blog/2980847
java 项目使用 ajaxfileupload相关推荐
- github javaguide_GitHub上收获Star数排名前10的Java项目
1. CS-Notes star:92.1k 介绍:技术面试必备基础知识.Leetcode.计算机操作系统.计算机网络.系统设计.Java.Python.C++ :地址:https://cyc2018 ...
- 新建eclipse的java项目报错处理
新建eclipse的java项目报错处理:选中报错的项目文件夹→右击选择属性(ALT+Enter)→java构建路径→库→双击"构建路径上的JAR和类文件夹"下面的项→选择备用JR ...
- Java开发环境的搭建以及使用eclipse从头一步步创建java项目
原文:出自本人的Linux博客http://blog.csdn.net/unix21/article/details/18813173 一.Java 开发环境的搭建 这里主要说windows环境下怎么 ...
- eclipse中java项目转换为web项目
2019独角兽企业重金招聘Python工程师标准>>> 经常在eclipse中导入web项目时,出现转不了项目类型的问题,导入后就是一个java项目,有过很多次经历,今天也有同事遇到 ...
- eclipse中如何将java项目转为java Web项目
有时候我们在eclipse中导入web项目时,系统当做一个java项目导入进来了.这时候在启动tomcat的服务器时无法找到该项目. 那么可以通过如下操作来将java项目转换为web项目. 1. 选择 ...
- 将一个普通的java项目转化为maven项目
在学习Spring事务时,我参考的书的源码不是maven项目,整本书依赖的100多个jar包都在一个文件夹里,我本来对spring每个模块的学习源码都放在一个Github仓库里,每一个项目都是mave ...
- java项目_JNPF快速开发平台-简单快速高效开发java项目
◆JNPF快速开发平台 JNPF快速开发平台采用前后端分离技术.采用B/S架构开发,形成一站式开发多端(APP+PC)使用. 使用JNPF开发平台可以简单.快速.高效的构建各种类型java项目. ◆J ...
- Eclipse 创建 Java 项目概述
Eclipse 是一个开放源代码的.基于 Java 的可扩展开发平台.Eclipse 是 Java 的集成开发环境(IDE),当然 Eclipse 也可以作为其他开发语言的集成开发环境,如C,C++, ...
- 立足GitHub学编程:13个不容错过的Java项目
今天我们将整理一大波干货满满的优秀Java项目. GitHub可谓一座程序开发的大宝库,有些项目值得fork,有些则能帮助我们改进自有代码或者学习编程技能.无论如何,开发工作当中我们几乎不可能绕得开G ...
最新文章
- linux c 内存共享
- vue组件之轮播图的实现
- 简单介绍日志的发展历史
- HDU4267(2012年长春站)
- java面向对象高级分层实例_BaseDao
- 软件设计师 - 算法思想
- RESTful JSON Web服务最佳实践
- php多添件分页查询,ThinkPHP的多表查询+分页范例
- 用SDWebImage加载FLAnimatedImage
- maven的setting文件简单配置
- 如何产生cpk图形_真正把Cp、Cpk、Pp、Ppk讲清楚!
- M1 Mac 档案的临时暂存区工具: Yoink
- 计算机考试发送邮件教程,电脑考试怎么发邮件
- SPSS 的安装与概貌-第一章
- 2016/2/19:ApplePay
- python做矩阵初等行变换,matlab做初等行变换,python 矩阵初等行变换,解线性方程,numpy矩阵运算,sympy矩阵运算,求过渡矩阵,求具体某一基组下的坐标,解析几何
- 2个方式快速解决:Word背景图片怎么设置
- 为什么有的人飞黄腾达,有的人穷困潦倒 .
- 使用Huginn批量订阅微信公众号
- Python爬虫 - 抓取divnil动漫妹子图
热门文章
- mysql安装check requirements出错_精心整理的mysql主从监控脚本,值得收藏
- Android之ActivityManagerService详解(APP启动过程)
- Android之HTTP预备知识
- Scroller解析
- 【iOS数据持久化】偏好设置(UserDefaults)
- java代码程序_Java程序代码
- echart旭日图_150Echarts - 旭日图(Sunburst Label Rotate)
- 190401装饰器-高阶函数-闭包
- HAOI2014 走出金字塔
- springboot里面logback使用