【项目页面效果】

【前台jsp页面】

jsp的js代码

 <script type="text/javascript">
//上传项目图片
function uploads(){
uploadImgs();
}
function uploadImgs(){ //loading
$("#loading").ajaxStart(function() {
$(this).show();
}).ajaxComplete(function() {
$(this).hide();
});
var elementIds=["flag"]; //flag为id、name属性名
$.ajaxFileUpload({
url: '/file/uploads.jspx',//接口url
type: 'post',
secureuri: false, //一般设置为false
fileElementId: 'projectUploads', // 上传文件的id、name属性名
dataType: 'text', //返回值类型,一般设置为json、application/json
elementIds: elementIds, //传递参数到服务器
success: function(data, status){
var temp = $.parseJSON(data);
var fileUrl = temp.fileUrl;
$("#photourls").val(fileUrl); $.ajax({
type: "GET",
url: "${ctx}/cmscp/core/project/apply/uploadPhoto.do",
data: {url:fileUrl,projectId:$('#beanid').val()},
dataType: "json",
success: function(data){
$(".imageTipss").append("<img id=\""+data+"\" height=\"100\" width=\"100\" src=\""+fileUrl+"\"></img><a id=\"a"+data+"\" onclick=delphoto("+data+")>&nbsp;&nbsp;删除</a>");
}
}); // alert("上传成功!");
},
error: function(data, status, e){
alert(e);
}
});
}
function delphoto(id){
$.ajax({
type: "GET",
url: "${ctx}/cmscp/core/project/apply/deletePhoto.do",
data: {id:id},
dataType: "json",
success: function(data){
$('#'+id).remove();//用于删除img
$('#a'+id).remove();//对应正在上传内容为删除a标签 或者对于已有图片删除的是li 改行代码目的删除两个文字:“删除” // $(".imageTipss").append("<img height=\"100\" width=\"100\" src=\""+fileUrl+"\"></img><a onclick=delphoto("+data+")>删除</a> ");
}
});
}
</script>

jsp的html代码

说明:

            <div class="pane" style="height: 600px">
<div class="in-btn">
<input type="text" style="display: none;" />
</div>
<div style="clear: both;"></div> <form id="photoForm" action="/userCenter/userCenterProjectPhotoEdit.jspx" method="post">
<input type="hidden" name="projectId" value="${bean.id}"/>
<div class="in-btn">
</div>
<input type="hidden" id="photourls" name="photourls" />
<input type="file" id="projectUploads" name="projectUploads" onchange="uploads();"
style="width:73px; padding: 20px 0 20px 50px;"/>
(请上传规格为260*188像素大小的图片)
<input type="hidden" id="flag" name="flag" value=""/>
<div class="imageTipss" style="padding-left: 20px;"></div> <ul>
<li style="display:none"></li>
<c:forEach items="${bean.cmsProjectPhotos}" var="photo">
<li id="a${photo.id}" style="float: left;width: 120px;margin:82px 22px 20px 12px; padding:0 0 30px 0;" >
<img id="${photo.id}" style="width: 120px;height: 120px" src="${photo.photourl}" />
<p ><a href="javascript:void(0)" onclick="delphoto('${photo.id}')">删除</a>
<input type="hidden" name="photoList[${photo_index}].photourl" value="${photo.photourl}"/>
<input type="hidden" name="photoList[${photo_index}].id" value="${photo.id}"/>
</p>
</li>
</c:forEach>
</ul>
</form>
</div>

【后台代码】

第一个ajax的后台方法  该方法用于上传图片并返回图片url

     @RequestMapping( value = "/file/uploads.jspx", method = RequestMethod.POST )
public void avatarUploads( @RequestParam( value = "projectUploads", required = false ) MultipartFile file,
HttpServletRequest request, HttpServletResponse response, org.springframework.ui.Model modelMap ) {
JsonMapper mapper = new JsonMapper();
UploadResult result = new UploadResult();
try {
doAvatarUpload( file, result, request, response );
}
catch( Exception e ) {
logger.error( "upload avatar image error.", e );
result.setError( e.getMessage() );
}
String json = mapper.toJson( result );
logger.debug( json );
Servlets.writeHtml( response, json );
return;
}

第二个ajax的后台方法  该方法用于保存数据到保存图片附件的单表数据库 并返回每条记录

     @RequestMapping("/apply/uploadPhoto.do")
@ResponseBody
public void uploadPhoto(Integer projectId ,String url ,HttpServletRequest request,HttpServletResponse response, org.springframework.ui.Model modelMap){
//CmsProjectNew project = cmsProjectNewService.findOne(projectId);
CmsProjectPhoto phote = new CmsProjectPhoto();
//phote.setCmsProjectNew(project);
phote.setProjectId(projectId);
phote.setPhotourl(url);
photoService.save(phote);
try {
PrintWriter pw = response.getWriter();
pw.print(phote.getId());
pw.close();
} catch (IOException e) {
e.printStackTrace();
}
}

最新文章

  1. Android开发中的menu菜单
  2. hadoop源码编译——2.5.0版本
  3. cdh集群数据恢复
  4. 如何查看文件是dos格式还是unix格式的?
  5. Java_java动态编译整个项目,解决jar包找不到问题
  6. mysql中and和or
  7. 仿网易漂亮的TAB选项卡(标签)
  8. double相加(減)结果会有些误差
  9. JavaScript:基础表单验证
  10. Eclipse导入的工程后referenced libraries中的jar包中文注释显示乱码解决方法
  11. linux配置jdk环境详解
  12. OCP读书笔记(16) - 管理资源
  13. Spark Streaming中的操作函数分析
  14. Restful OData Protocol
  15. NewLife.Redis基础教程
  16. Delphi 实现自动更新
  17. WPF项目中解决ConfigurationManager不能用(转)
  18. Java SE之基本程序设计结构
  19. Java int转string 长度不足左补0
  20. centos7在upgrade的时候显示:Delta RPMs disabled because /usr/bin/applydeltarpm not installed

热门文章

  1. C#:手把手教你用C#打包应用程序(安装程序卸载程序)
  2. ELK 6.x 部署
  3. hiho 1323 : 回文字符串 dp
  4. Object.assign() 从一个或多个源对象复制到目标对象
  5. pg按日,周,月进行数据统计
  6. 【Python】 \uxxxx转中文
  7. Linux下部署 jar包
  8. java poi分批次导入Excel
  9. DXVA2解码数据用texture纹理渲染
  10. POJ 1160 经典区间dp/四边形优化