美文网首页
jQuery + lrz 实现本地压缩后上传图片

jQuery + lrz 实现本地压缩后上传图片

作者: 貳壹单飞雁 | 来源:发表于2016-11-18 10:13 被阅读0次

本地压缩插件 https://github.com/think2011/localResizeIMG

/**
 *  本地图片压缩后上传
 */
$("#vfile").change(function(){
    var _this = $(this);
    lrz(this.files[0]).then(function(data) {
        return upload(_this.get(0) , data.formData);
    }).then(function(data) {
        // data => 上传成功后返回的JSON数据
        // TODO::处理逻辑
    }).catch(function(err) {
        console.log(err);
    });
});

/**
 *  直接上传原图
 */
$("#vfile").change(function(){
    upload(this).then(function(data) {
        // data => 上传成功后返回的JSON数据
        // TODO::处理逻辑
    }).catch(function(err) {
        console.log(err);
    });
});


/**
 * 图片上传 后端正常处理图片<input file="file" name="file" />
 * @param selector 文件域DOM Obj [必选]
 * @param formData 文件上传formData [可选]
 */
function upload(selector , formData) {
    if(!formData) {
        formData = new FormData();
        formData.append("file", $(selector)[0].files[0]);
    }

    var url = "{:U('Wap/Public/ajaxSingleUpload')}";
    return new Promise(function(resolve,reject){
        $.ajax({
            url : url,
            type : 'POST',
            data : formData,
            processData : false,
            contentType : false,
            dataType:"json",
            success : function(response) {
                resolve(response);
            },
            error : function(response) {
                reject(response);
            }
        });
    });
}

相关文章

网友评论

      本文标题:jQuery + lrz 实现本地压缩后上传图片

      本文链接:https://www.haomeiwen.com/subject/ysvjpttx.html