js 图片上传(iframe)

安稳与你 提交于 2020-03-23 05:08:48

//上传图片构造函数
function FileUploader(targetId, uploadInputId, uploadFormId, picAreaId, delUrl, targetInput, fileName) {
this.targetId = targetId;
this.uploadInputId = uploadInputId;
this.uploadFormId = uploadFormId;
this.picAreaId = picAreaId;
this.delUrl = delUrl;
this.targetInput = targetInput;
this.iframeName = undefined; //当前iframe的名字
this.fileName = fileName; //当前iframe的名字

return {
upload: this.upload,
apendPic: this.apendPick
};
};

//开始上传
FileUploader.prototype.upload = function () {
    $('#' + this.targetId).click(function () {
        $('#' + this.uploadInputId).click();
    });
};

//添加图片
FileUploader.prototype.appendPic = function () {
    var fileId = this.fileName.substring(0, this.fileName.indexOf('.'));
    var picHtml = '<div id="' + fileId + 'div" style="float: left; margin-left: 5px; position: relative"><a id="' + fileId + 'del" style="height: 20px; width: 20px; position: absolute; top: -2px; right: -5px; z-index: 10;" class="panel-tool-close" /><img id="' + fileId + '" style="border: 10px solid #ddd; padding: 5px; width: 100px; height: 80px;" src="../content/FileUploaders/' + this.fileName + '" /></div>';
    $('#' + this.picAreaId).append(picHtml);

    //绑定删除事件
    $('#' + fileId + 'del').click(function () {
        this.delPic();
    });

    //绑定图片点击事件
    $('#' + fileId).click(function () {
        window.open('/picupload/picview?imgname=' + fileName);
    });

    //添加图片名到input
    $('#' + targetInput).val($('#' + targetInput).val() + ',' + fileName);
};

//删除图片
FileUploader.prototype.delPic = function () {
    $.post(this.delUrl, { imgname: this.fileName }, function (data) {
        //提示
        if (data.msg.toLowerCase() == 'true') {
            msgNotify('删除成功!');
        } else {
            msgNotify('删除失败!');
        };
        //删除div
        $('#' + fileId + 'div').remove();
        //删除input中的对应图片名
        if (data.msg.toLowerCase() == 'true') {
            var fileNames = $('#' + this.targetInput).val();
            fileNames = fileNames.replace(eval("/" + this.fileName + "/gi"), '');
            $('#' + this.targetInput).val(fileNames);
        };
    });
};

//绑定上传控件change事件
FileUploader.prototype.uploaderChange = function () {
    //设置easyui
    $('#' + this.targetId + ' span span').html('正在上传中');
    $('#' + this.targetId).unbind('click');
    //提交表单
    this.iframeName = 'uploadIframe' + Math.random();
    var iframe = $('<iframe width="0" height="0" frameborder="0" name="' + this.iframeName + '">');
    iframe.appendTo($('body'));
    $('#' + this.uploadFormId).attr('target', iframeName);
    $('#' + this.uploadFormId).submit();
};

//绑定iframe 加载完成事件
FileUploader.prototype.iframeOnload = function () {
    //设置Easyui
    $('#' + this.targetId + ' span span').html('选择打款凭证');
    $('#' + this.targetId).bind('click', function () { $('#' + this.uploadInputId).click(); });
    //读取iframe页面回传的值
    this.fileName = $(window.frames[this.iframeName].document).find("input").val();
    //添加图片
    this.appendPic();
};

  

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!