图片上传不保存并在页面显示出来
2017-03-29 08:43
351 查看
张图片上传步骤
1、jsp页面
[html] view
plain copy
<form action="yst/saveImgPreview.action"
enctype="multipart/form-data" method="post"
class="form-horizontal" name="saveImg_form" id="saveImg_form">
<div class="control-group">
<label class="control-label">图片地址</label><br> <br> <br>
<div class="controls">
<div id="preview" class="controls">
<img id="imghead" border="0" onclick="$('#previewImg').click();">
</div>
<div class="col-md-6">
<input id="previewImg" type="file" onchange="previewImage(this)" name="previewImg"
data-show-upload="false">
</div>
</div>
</div>
</form>
2、js页面
[javascript] view
plain copy
//图片上传预览 IE是用了滤镜。
function previewImage(file)
{
var MAXWIDTH = 90;
var MAXHEIGHT = 90;
//获得
var div = document.getElementById('preview');
if (file.files && file.files[0])
{
console.log(file.files[0]+"图片路径====");
div.innerHTML ='<img id=imghead onclick=$("#previewImg").click()>';
var img = document.getElementById('imghead');
img.onload = function(){
//获得图片大小及对其方式
var rect = clacImgZoomParam(MAXWIDTH, MAXHEIGHT, img.offsetWidth, img.offsetHeight);
img.width = rect.width;
img.height = rect.height;
/ img.style.marginLeft = rect.left+'px';
img.style.marginTop = rect.top+'px';
}
var reader = new FileReader();
reader.onload = function(evt){img.src = evt.target.result;}
reader.readAsDataURL(file.files[0]);
}
else //兼容IE
{
var sFilter='filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale,src="';
file.select();
var src = document.selection.createRange().text;
div.innerHTML = '<img id=imghead>';
var img = document.getElementById('imghead');
img.filters.item('DXImageTransform.Microsoft.AlphaImageLoader').src = src;
var rect = clacImgZoomParam(MAXWIDTH, MAXHEIGHT, img.offsetWidth, img.offsetHeight);
status =('rect:'+rect.top+','+rect.left+','+rect.width+','+rect.height);
div.innerHTML = "<div id=divhead style='width:"+rect.width+"px;height:"+rect.height+"px;margin-top:"+rect.top+"px;"+sFilter+src+"\"'></div>";
}
}
function clacImgZoomParam( maxWidth, maxHeight, width, height ){
var param = {top:0, left:0, width:width, height:height};
if( width>maxWidth || height>maxHeight ){
rateWidth = width / maxWidth;
rateHeight = height / maxHeight;
if( rateWidth > rateHeight ){
param.width = maxWidth;
param.height = Math.round(height / rateWidth);
}else{
param.width = Math.round(width / rateHeight);
param.height = maxHeight;
}
}
param.left = Math.round((maxWidth - param.width) / 2);
param.top = Math.round((maxHeight - param.height) / 2);
return param;
}
3.controller 代码
[java] view
plain copy
@RequestMapping(value="/saveCompant",method=RequestMethod.POST)
public String saveCompany(Family family,@RequestParam("previewImg") MultipartFile file,HttpServletRequest request) throws IOException{
// 上传图片
String imgUrl = "";
if (file != null && !file.isEmpty()) {
String url = "D:/" + "upload/";
//file.getOriginalFilename();图片文件名
String fileName = System.currentTimeMillis()+file.getOriginalFilename();
String fileType = fileName.substring(fileName.lastIndexOf(".") + 1);
fileType = fileType.toLowerCase();
FileUtils.copyInputStreamToFile(file.getInputStream(), new File(url, fileName));
imgUrl = fileName;
}
//保存信息
return "redirect:compant_actList.action?type="+family.getType();
}
1、jsp页面
[html] view
plain copy
<form action="yst/saveImgPreview.action"
enctype="multipart/form-data" method="post"
class="form-horizontal" name="saveImg_form" id="saveImg_form">
<div class="control-group">
<label class="control-label">图片地址</label><br> <br> <br>
<div class="controls">
<div id="preview" class="controls">
<img id="imghead" border="0" onclick="$('#previewImg').click();">
</div>
<div class="col-md-6">
<input id="previewImg" type="file" onchange="previewImage(this)" name="previewImg"
data-show-upload="false">
</div>
</div>
</div>
</form>
2、js页面
[javascript] view
plain copy
//图片上传预览 IE是用了滤镜。
function previewImage(file)
{
var MAXWIDTH = 90;
var MAXHEIGHT = 90;
//获得
var div = document.getElementById('preview');
if (file.files && file.files[0])
{
console.log(file.files[0]+"图片路径====");
div.innerHTML ='<img id=imghead onclick=$("#previewImg").click()>';
var img = document.getElementById('imghead');
img.onload = function(){
//获得图片大小及对其方式
var rect = clacImgZoomParam(MAXWIDTH, MAXHEIGHT, img.offsetWidth, img.offsetHeight);
img.width = rect.width;
img.height = rect.height;
/ img.style.marginLeft = rect.left+'px';
img.style.marginTop = rect.top+'px';
}
var reader = new FileReader();
reader.onload = function(evt){img.src = evt.target.result;}
reader.readAsDataURL(file.files[0]);
}
else //兼容IE
{
var sFilter='filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale,src="';
file.select();
var src = document.selection.createRange().text;
div.innerHTML = '<img id=imghead>';
var img = document.getElementById('imghead');
img.filters.item('DXImageTransform.Microsoft.AlphaImageLoader').src = src;
var rect = clacImgZoomParam(MAXWIDTH, MAXHEIGHT, img.offsetWidth, img.offsetHeight);
status =('rect:'+rect.top+','+rect.left+','+rect.width+','+rect.height);
div.innerHTML = "<div id=divhead style='width:"+rect.width+"px;height:"+rect.height+"px;margin-top:"+rect.top+"px;"+sFilter+src+"\"'></div>";
}
}
function clacImgZoomParam( maxWidth, maxHeight, width, height ){
var param = {top:0, left:0, width:width, height:height};
if( width>maxWidth || height>maxHeight ){
rateWidth = width / maxWidth;
rateHeight = height / maxHeight;
if( rateWidth > rateHeight ){
param.width = maxWidth;
param.height = Math.round(height / rateWidth);
}else{
param.width = Math.round(width / rateHeight);
param.height = maxHeight;
}
}
param.left = Math.round((maxWidth - param.width) / 2);
param.top = Math.round((maxHeight - param.height) / 2);
return param;
}
3.controller 代码
[java] view
plain copy
@RequestMapping(value="/saveCompant",method=RequestMethod.POST)
public String saveCompany(Family family,@RequestParam("previewImg") MultipartFile file,HttpServletRequest request) throws IOException{
// 上传图片
String imgUrl = "";
if (file != null && !file.isEmpty()) {
String url = "D:/" + "upload/";
//file.getOriginalFilename();图片文件名
String fileName = System.currentTimeMillis()+file.getOriginalFilename();
String fileType = fileName.substring(fileName.lastIndexOf(".") + 1);
fileType = fileType.toLowerCase();
FileUtils.copyInputStreamToFile(file.getInputStream(), new File(url, fileName));
imgUrl = fileName;
}
//保存信息
return "redirect:compant_actList.action?type="+family.getType();
}
相关文章推荐
- 图片上传不保存并在页面显示出来
- Winform下如何上传图片并显示出来。同时保存到数据库
- javaweb上传图片,并且从数据库中查出,在页面显示,同时保存图片到数据库中
- 用Seam实现:图片上传 + 保存到数据库 + 从数据库读出图片并显示到页面中
- 求一段smartupload上传图片的代码,不需要保存到数据库,但是想在jsp页面选中文件夹图片后,立马可以显示
- 用Seam实现:图片上传 + 保存到数据库 + 从数据库读出图片并显示到页面中
- SpringMVC+Ajax用FormData对象上传页面的图片(文件),并且立马在页面上显示出来
- 用Seam实现:图片上传 + 保存到数据库 + 从数据库读出图片并显示到页面中
- struts2中使用Blob类型处理图片上传保存在数据库中并在JSP页面中显示图片
- 用Seam实现:图片上传 + 保存到数据库 + 从数据库读出图片并显示到页面中
- 自定义控件实现无刷新上传图片,立即显示缩略图,保存图片缩略图<原创>
- Struts2上传图片到Mysql数据库中,以及显示到页面
- asp.net 自定义控件实现无刷新上传图片,立即显示缩略图,保存图片缩略图
- 自定义控件实现无刷新上传图片,立即显示缩略图,保存图片缩略图<原创>
- Struts2上传图片到Mysql数据库中,以及显示到页面
- Struts2上传图片到Mysql数据库中,以及显示到页面
- Struts2上传图片到Mysql数据库中,以及显示到页面
- web中,如何读取Word内容(包含表格,但不包含图片)并且显示在页面中或保存进数据库中
- C# 用二进制将图片保存在数据库里再读出来显示在pictureBox中
- 保存在数据中image字段的图片文件显示出来