dropzone.js图片上传

参考api:http://www.dropzonejs.com/

插件下载地址:http://www.jq22.com/jquery-info410


示例:

<html>

<head>

<style>

.scimg{
margin:10px auto;
border:2px solid #E2E1E1;
border-radius:5px;
min-height:300px;
display:none;
}
.sc_top{
background: url(../img/bg3.png);
padding: 5px 10px;
height:45px;
}
.sc_cen{
padding:10px 5px;
}
.sc_bot{
background: url(../img/bg3.png);
padding: 5px 10px;
}

</style>

</head>

<body>

<div class=" scimg" id="scimg">
<div class="sc_top">
    <div class="pull-left" style="width:240px; margin-right:50px;">
    <span class="btn btn-success fileinput-button" style="margin-right:10px;"> 
    <i class="glyphicon glyphicon-plus"></i>
    <span>选择图片...</span>
    </span>
    </div>
    <div class="fileupload-process">
       <div id="total-progress" class="progress progress-striped active" role="progressbar" aria-valuemin="0" aria-valuemax="100" aria-valuenow="0">
        <div class="progress-bar progress-bar-success" style="width:0%;" data-dz-uploadprogress>
        </div>
       </div>
    </div>
</div>
<div class="sc_cen">
<div class="table table-striped" class="files" id="previews">
<div id="template" class="file-row">
        <div>
          <span class="preview"><img class="" data-dz-thumbnail /></span>
        </div>
    <a data-dz-remove class="cancel">删除</a>
    <span class="tip_mess"></span>
</div>
</div>
</div>
<div class="sc_bot text-right">
<button class="btn btn-primary start">
<i class="glyphicon glyphicon-upload"></i>
<span>上传</span>
</button>
</div>
</div>


<script src="js/jquery-1.11.1.min.js"></script>

<script src="js/dropzone.js"></script>

<script>

var url="图片接收端URL";
var previewNode = document.querySelector("#template");
  previewNode.id = "";
 var previewTemplate = previewNode.parentNode.innerHTML;
   previewNode.parentNode.removeChild(previewNode);
   var count = 0;
   var myDropzone = new Dropzone(document.body, { 
    url: url, 
       thumbnailWidth:200,
       thumbnailHeight:150,
       parallelUploads: 20,
       acceptedFiles:'image/*',
       previewTemplate: previewTemplate,
       autoQueue: false, 
       previewsContainer: "#previews", 
       clickable: ".fileinput-button" ,
});
   myDropzone.on("totaluploadprogress", function(progress) {
    document.querySelector("#total-progress .progress-bar").style.width = progress + "%";
   });
   myDropzone.on("success", function(file, responseText) {
    var tips = document.querySelectorAll(".tip_mess");
    for (var i=0; i < tips.length; i++){
    if (responseText == "success"){
    tips[i].innerHTML = "上传成功";
    tips[i].style.color = "#3e8f3e";
    }
    else {
    tips[i].innerHTML = "上传失败";
    tips[i].style.color = "#ff0000";
    }
    }
   });
   myDropzone.on("sending", function(file) {
    document.querySelector("#total-progress").style.opacity = "1";
   });
myDropzone.on("queuecomplete", function(progress) {
       document.querySelector("#total-progress").style.opacity = "0";
   });
   document.querySelector(".start").onclick = function() {
    myDropzone.enqueueFiles(myDropzone.getFilesWithStatus(Dropzone.ADDED));
   };

</script>

</body>

</html>


后台(java):

@RequestMapping(value = "url", method = RequestMethod.POST)
public @ResponseBody
String uploadAdPic(@RequestParam(value = "file", required = false) MultipartFile file,
HttpServletRequest request, HttpServletResponse response) {
String oriName = file.getOriginalFilename();
String fileType = oriName.substring(oriName.lastIndexOf("."));
String filename = UUIDGenerator.getUUID() + fileType;
String PicPath = “D:/pictures/” + filename;
File f = new File(PicPath);
try {
FileUtils.copyInputStreamToFile(file.getInputStream(), f);
} catch (IOException e) {
if (f.exists()) {
f.delete();
}
logger.error("保存图片失败: " + e.getMessage());
return "fail";
}
return "success";
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值