您的位置:首页 > 其它

上传图片

2015-11-26 11:37 661 查看
1.jsp页面代码

<pre name="code" class="html"><div class="rank must">
<span class="label">品牌图标:</span>
<form action="#" id="apply" name="apply" method="post">
<input type="file" class="file" name="imgLogo" value="" id="imgLogo" style="display: none;"  accept="image/*" />
<input type="hidden" name="brandLogo" id="brandLogo" value="" />
</form>
<button type="button" class="btn btn-primary" onclick="document.getElementById('imgLogo').click();"
style="width: 100px;float: left;">上传图片</button>
</div>
<div class="rank">
<span class="label"> </span>
<img id="imgsrc" src="" style="max-width: 350px;" />
</div>




2.JavaScript代码

<script type="text/javascript">
$(document).ready(function() {
$("input[name='imgLogo']").change(function() {
var imgCopy = $("#imgsrc").attr("src");
$("#imgsrc").attr("src","${cp}/img/load.gif");
var options = {
url : "${cp}/brand/ajaxGetLogo", //跳转到相应的Action
type : "POST", // 提交方式
dataType : "json", // 数据类型
success : function(data,textStatus) {
if (data.optFlag == 'Y') {
$("#imgsrc").attr("src",data.imgUrl);
$("#brandLogo").val(data.imgUrl);
}else{
showMsg("上传图片出错!");
$("#imgsrc").attr("src",imgCopy);
}
},
error : function(XMLHttpRequest,textStatus,errorThrown) {
showMsg("上传图片出错!");
$("#imgId").attr("src",imgCopy);
}
};
$("#apply").ajaxSubmit(options); // 绑定页面中form表单的id
return false;
});

//提交事件
$("#add_btn").click(function(){
var brandName = $("input[name='brandName']").val().trim();
var brandIsshow = $(":radio[name='brandIsshow']:checked").val();
var brandLogo = $("#brandLogo").val().trim();
if(!brandName) {
showMsg("品牌名称不能为空!");
return false;
}
if(!brandLogo) {
showMsg("品牌图片必须上传!");
return false;
}

$.post("${cp}/brand/addBrand", {
"brandName" : brandName,
"brandIsshow" : brandIsshow,
"brandLogo" : brandLogo
}, function(data) {
if (data.flag) {
alert("信息编辑成功");
history.go(-1);
} else {
$("input[name='brandName']").focus();
showMsg(data.msg);
}
},"json");
});

$("#brandName").blur(function(){
$.post("${cp}/brand/checkName", {
"brandName" : $(this).val()
}, function(data) {
if (data.flag) {
showMsg(data.msg);
$(this).focus();//获得焦点
}
},"json");
});
});

var timeout;
function showMsg(msg) {
$("#msg").html(msg);
$("#msg").show();
if (timeout != undefined)
clearTimeout(timeout);
timeout = setTimeout(function hiddenMsg() {
$("#msg").html("");
$("#msg").hide();
}, 5000);
}
</script>


3.java代码

/**
* 上传品牌图片
* @param request
* @return
*/
@RequestMapping(value = "/ajaxGetLogo")
@ResponseBody
public Map<String, Object> uploadLogo(HttpServletRequest request) {
Map<String, Object> map = new HashMap<String, Object>();
try {
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
/** 构建图片保存的目录 **/
String path = "/brand/";
String realpath = request.getSession().getServletContext()
.getRealPath(path);
/** 页面控件的文件流 **/
MultipartFile multipartFile = multipartRequest.getFile("imgLogo");
String imgLogoFileName = multipartFile.getOriginalFilename();
String fileType = ImageZipUtil.getFileType(imgLogoFileName);
String imageName = "brand_" + System.currentTimeMillis() + "." + fileType;

File savefile = new File(new File(realpath), imageName);
if (!savefile.getParentFile().exists())
savefile.getParentFile().mkdirs();
multipartFile.transferTo(savefile);
String imgUrl = "http://localhost/项目名" + path + imageName;

map.put("optFlag", "Y");
map.put("imgUrl", imgUrl);
} catch (Exception e) {
map.put("optFlag", "E");
map.put("optDesc", "系统错误,请稍后重试!");
}

return map;
}
}

/**
* 上传图片
* @param request
* @return
*/
@RequestMapping(value = "/ajaxGetLogo")
@ResponseBody
public Map<String, Object> uploadLogo(HttpServletRequest request) {
Map<String, Object> map = new HashMap<String, Object>();
try {
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
/** 构建图片保存的目录 **/
String path = "/item/category/images/";
String realpath = request.getSession().getServletContext()
.getRealPath(path);
/** 页面控件的文件流 **/
MultipartFile multipartFile = multipartRequest.getFile("imgLogo");
String imgLogoFileName = multipartFile.getOriginalFilename();
String fileType = ImageZipUtil.getFileType(imgLogoFileName);
String imageName = "category_" + System.currentTimeMillis() + "." + fileType;

File savefile = new File(new File(realpath), imageName);
if (!savefile.getParentFile().exists())
savefile.getParentFile().mkdirs();
multipartFile.transferTo(savefile);
ImageZipUtil.resizeImage(savefile.getPath(),savefile.getPath(),300,300);
Thread.sleep(1000);
String imgUrl = path + imageName;
map.put("optFlag", "Y");
map.put("imgUrl", imgUrl);
} catch (Exception e) {
map.put("optFlag", "E");
map.put("optDesc", "系统错误,请稍后重试!");
}
return map;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: