首页 > 代码库 > jquery插件fileupload图片上传(前端如何处理)

jquery插件fileupload图片上传(前端如何处理)

1.页面首先引入jquery,版本不要低于1.6
   <script src=http://www.mamicode.com/"../js/jquery.min.js"></script>
2.其次页面引入对应的这个五个js,按顺序放置
<script src=http://www.mamicode.com/"../js/jquery.ui.widget.js"></script>
<script src=http://www.mamicode.com/"../js/jquery.iframe-transport.js"></script>
   <script src=http://www.mamicode.com/"../js/jquery.fileupload.js"></script>
   <script src=http://www.mamicode.com/"../js/jquery.fileupload-process.js"></script>
   <script src=http://www.mamicode.com/"../js/jquery.fileupload-ui.js"></script>
3.html结构如下:
  <div class="control-group"><label>上传头像:</label>
<div class="controls upload-bg"><!---->
<input class="upload" id="file" type="file" name="file">
<img src=http://www.mamicode.com/"" style="display:none;width:100%;height:100%" id="target" alt="[Jcrop Example]"/>
<input type="hidden" value=http://www.mamicode.com/"" id="url">
</div>
<p class="reupload">重新上传
<input class="imgEditor" id="uploadNext" type="file" name="file" value=http://www.mamicode.com/""/>
  </p>
</div>
这个样式是这样的:技术分享
4.css样式如下:如有些结构和样式不一致的,希望自己调整一下
  /*上传图片*/
.control-group .upload {
width: 100%;
height: 100%;
opacity: 0;
cursor: pointer;
}

.control-group .upload-bg {
width: 240px;
height: 240px;
position: relative;
border: 1px solid #ccc;
background: url("../images/upload.png") center no-repeat;
margin-left: 200px;
margin-top: -25px;
}
.control-group .upload-bg:hover {
border: 1px dashed #0000FF;
transition: border 1s;
}
.control-group .upload-bg p, .imgEditor {
position: absolute;
bottom: 0;
display: none;
text-align: center;
width: 100%;
margin: 0;
background: #210606;
opacity: 0.6;
color: #ccc;
cursor: pointer;

}
.control-group .upload-bg:hover {
border: 1px dashed #0000FF;
transition: border 1s;
}
.fm .reupload{margin-bottom:0 !important;}
.control-group .upload-bg p, .imgEditor {
position: absolute;
bottom: 0;
display: none;
text-align: center;
width: 100%;
margin: 0;
background: #210606;
opacity: 0.6;
color: #ccc;
cursor: pointer;

}
.imgEditor {
opacity: 0;
z-index: 2;
left: 0;
height: 100% !important;
display: block;

}

.reupload{
margin-top:2px;
position: relative;
height: 24px !important;
width: 243px !important;
margin-left: 200px;
line-height: 24px;
background: #9999CC;
display: none;
}
5.上传的js部分:
function imgUpLoad(eleId) {
$(‘#‘ + eleId).fileupload({
autoUpload: true,//自动上传
url: "http://xxxxx.url",//?上传图片对应的地址
dataType: ‘json‘,
done: function (e, data) {
var oimage = data, _this = $(‘#‘ + eleId);
if (eleId == ‘file‘) {
_this.hide();
_this.siblings(‘img‘).attr(‘src‘, oimage.result.url).show();
$(‘.reupload‘).show();//第一次上传完成,显示重新上传

} else {//重新上传
_this.closest(‘.control-group‘).find(‘#target‘).attr(‘src‘, oimage.result.url);
}
}
})
}
6.最后上传完成之后是这样的(其实还有裁剪的功能,下一篇介绍)
技术分享

 

jquery插件fileupload图片上传(前端如何处理)