<div class="qy_left" style="float: left;">
<div style="font-weight: 700; margin-left: 15px; margin-top: 10px;">微信二维码/公众号二维码/客服号活码:</div>
<div id="drop_area"></div>
<div style="color: rgb(145, 145, 145); font-size: 14px; margin-left: 15px;margin-top: 30px;">提示:
<br>1、可直接将二维码拖拽到框中上传
<br>2、图片大小不能超过2M,支持图片类型jpg、png
<br>
</div>
</div>
<script src="./js/jquery-1.10.2.min.js"></script>
<script src="./js/index.js"></script>
<script type="text/javascript">
var dragImgUpload = new DragImgUpload("#drop_area",{
callback:function (files) {
//回调函数,可以传递给后台等等
var file = files[0];
console.log(file.name);
}
})
</script>
//图片上传(可拖拽)
//上传样式
function DragImgUpload(id,options) {
this.me = $(id);
var defaultOpt = {
boxWidth:'200px',
boxHeight:'auto',
}
this.preview = $('<div id="preview""><img src="./image/upload.png" class="img-responsive" style="width: 100%;height: auto;" alt="" title=""> </div>');
this.opts=$.extend(true, defaultOpt,{
}, options);
this.init();
this.callback = this.opts.callback;
}
//定义原型方法
DragImgUpload.prototype = {
init:function () {
this.me.append(this.preview);
this.me.append(this.fileupload);
this.cssInit();
this.eventClickInit();
},
cssInit:function () {
this.me.css({
'width':this.opts.boxWidth,
'height':this.opts.boxHeight,
'border':'1px solid #cccccc',
'padding':'10px',
'cursor':'pointer',
'margin-left':'15px',
'margin-top':'30px'
})
this.preview.css({
'height':'100%',
'overflow':'hidden'
})
},
onDragover:function (e) {
e.stopPropagation();
e.preventDefault();
e.dataTransfer.dropEffect = 'copy';
},
onDrop:function (e) {
var self = this;
e.stopPropagation();
e.preventDefault();
var fileList = e.dataTransfer.files; //获取文件对象
// do something upload
if(fileList.length == 0){
return false;
}
//检测文件是不是图片
if(fileList[0].type.indexOf('image') === -1){
alert("您拖的不是图片!");
return false;
}
//拖拉图片到浏览器,可以实现预览功能
var img = window.URL.createObjectURL(fileList[0]);
var filename = fileList[0].name; //图片名称
var filesize = Math.floor((fileList[0].size)/2048);
if(filesize>2048){
alert("上传大小不能超过2M.");
return false;
}
self.me.find("img").attr("src",img);
self.me.find("img").attr("title",filename);
if(this.callback){
this.callback(fileList);
}
},
eventClickInit:function () {
var self = this;
this.me.unbind().click(function () {
self.createImageUploadDialog();
})
var dp = this.me[0];
dp.addEventListener('dragover', function(e) {
self.onDragover(e);
});
dp.addEventListener("drop", function(e) {
self.onDrop(e);
});
},
onChangeUploadFile:function () {
var fileInput = this.fileInput;
var files = fileInput.files;
var file = files[0];
var img = window.URL.createObjectURL(file);
var filename = file.name;
this.me.find("img").attr("src",img);
this.me.find("img").attr("title",filename);
if(this.callback){
this.callback(files);
}
},
createImageUploadDialog:function () {
var fileInput = this.fileInput;
if (!fileInput) {
//创建临时input元素
fileInput = document.createElement('input');
//设置input type为文件类型
fileInput.type = 'file';
//设置文件name
fileInput.name = 'ime-images';
//不允许上传多个文件
fileInput.multiple = false;
fileInput.onchange = this.onChangeUploadFile.bind(this);
this.fileInput = fileInput;
}
//触发点击input点击事件,弹出选择文件对话框
fileInput.click();
}
}
前端页面写了个上传二维码图片的按钮,就是id=drop_area这个,样式与判断写在了js里,前端已经实现了上传并显示预览图,做的和网上的不一样,不懂该怎么获取,现在想将这个上传的图片存到数据库中,php中怎么获取这个上传的图片?有没有大佬给出代码参考一下?