1.无插件预览(window.URL.createObjectURL)

```javascript
//demo 图片预览  单个
$(".demo input#demo_file").on("change",function(){
    var val_1 = $(this).val();
    var valImg = window.URL.createObjectURL(document.getElementById("demo_file").files[0]);//成功预览该图片
    $(".demo div img").attr("src",valImg);
});
 
 
2.多个预览 上传
//得支持同时上传多个
$(".imgButton_w").on("click",function(){
    console.log(1);
    var $input = "<input type='file' id='img_' name='file' class='files'>";
    $("#input_files").append($input);
    $("#input_files input:last-child").trigger("click").siblings().removeAttr("id");
});
var imgArr = [];
function addFunc(){
    var val_ = $("#input_files input:last-child").val();
    var newVal = val_.split(".");
    var reg_ = /^(jpg|png|jpeg|gif)$/;
    if(val_!==''&&!reg_.test(newVal[newVal.length-1])) {
        alert("请上传后缀为jpg、png、jpeg、gif的图片!");
        return false;
    }
    var valImg = window.URL.createObjectURL(document.getElementById("img_").files[0]);//成功预览该图片
    imgArr.push(valImg);
    var $html = '<div class="upload_append_list"><p>' +
        '<a href="javascript:" class="upload_delete delete" title="删除" data-index="">删除</a><br />' +
        '<img id="uploadImage_" src="' + valImg + '" class="upload_image" /></p>' +
        '<span id="img" class="upload_progress"></span>' +
        '</div>';
    $("#preview").append($html);
}
//创建数组存储图片信息  最多9张图,
function max_nine(){
    var length_ = $(".show_img > div").size();
    console.log("length_:"+length_);
    if(length_ >=9){
        alert("最多只能上传9张图!");
    }else{
        addFunc();
    }
}
$(".upload_img ").on("click",function(){
    max_nine();
});
//移除预览但未上传给后台的图片
$(document).on("click","#preview p a.delete",function() {
    var i = $(this).parent().parent().index();
    $("#input_files input").eq(i).remove();
    $(this).parent().parent().remove();//alert("删除预览");
});
function uploadFunc(){
    $("#imgForm").ajaxSubmit({
        type: "post",
        url: "/investManage/financing/addImg.do",
        data: {"projectId":localStorage.projectId},
        dataType: "json",
        success: function (obj) {
            if (obj.login && obj.status == 1) {
                //alert("上传图片成功!");
            } else if (obj.login == false) {
                alert(obj.msg);
                window.location.href = "login.html";
            } else {
                alert(obj.msg);
            }
        },
        error: function () {
            alert("服务器错误,上传图片失败!");
        }
    });
}
```

上传预览图片自己做的.md的更多相关文章

  1. 微信开发中使用微信JSSDK和使用URL.createObjectURL上传预览图片的不同处理对比

    在做微信公众号或者企业微信开发业务应用的时候,我们常常会涉及到图片预览.上传等的处理,往往业务需求不止一张图片,因此相对来说,需要考虑的全面一些,用户还需要对图片进行预览和相应的处理,在开始的时候我使 ...

  2. 上传预览图片的插件jquery-fileupload

    上传预览图片的插件jquery-fileupload github地址:https://github.com/blueimp/jQuery-File-Upload 中文文档:http://www.jq ...

  3. 异步上传&预览图片-不压缩图片

    本例使用ajaxFileUpload异步上传预览图片 <bean id="multipartResolver" class="org.springframework ...

  4. 异步上传&预览图片-压缩图片

    移动端普及的时代,流量是用户最关心的,手机拍出来的照片基本上都在1~2M以上,这样上传会非常耗流量,影响用户体验,此例能在保证清晰度的情况下,将4.5M的图片压缩为30K <!DOCTYPE h ...

  5. html 上传预览图片

    直接上代码了 <!DOCTYPE html> <html><head lang="en"><meta http-equiv="C ...

  6. javascript 上传 预览图片 兼容 谷歌 ie

    最近的项目要用到这块,但是在网上找了很多资料,很多都是假的,都不行,最后终于找到一个,还是可以兼容主流的,特分享给大家,可以用 <!DOCTYPE html PUBLIC "-//W3 ...

  7. Vue 中使用 viewerjs进行本地上传预览图片

    https://www.cnblogs.com/shenjp/p/9754171.html 如果图片路径是 接口的返回信息的话,将路径存储在数组中,在this.$nextTick中实例化Viewer: ...

  8. [前端 4] 使用Js实现图片上传预览

    导读:今天做图片上传预览,刚开始的做法是,先将图片上传到Nginx,然后重新加载页面才能看到这个图片.在这个过程中,用户一直都看不到自己上传的文件是什么样子.Ps:我发现我真的有强迫症了,都告诉我说不 ...

  9. ASP.NET工作笔记之一:图片上传预览及无刷新上传

    转自:http://www.cnblogs.com/sibiyellow/archive/2012/04/27/jqueryformjs.html 最近项目里面涉及到无刷新上传图片的功能,其实也就是上 ...

随机推荐

  1. js 进度条,可实现结束和重新开始

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  2. 使用Apache的.htaccess就可以防盗链

    Apache的.htaccess可以实现很多功能,如密码保护.禁止显示目录列表.阻止/允许特定的IP地址.实现网址的301 重定向等等.本文就来说说使用Apache的.htaccess如何防盗链. 当 ...

  3. poj3292-Semi-prime H-numbers(筛法打表)

    一,题意:  一个H-number是所有的模四余一的数.(x=4*k+1)  如果一个H-number是H-primes 当且仅当它的因数只有1和它本身(除1外). 一个H-number是H-semi ...

  4. Transform a BST to greater sum tree

    Given a BST, transform it into greater sum tree where each node contains sum of all nodes greater th ...

  5. 【iCore3 双核心板_FPGA】例程四:Tcl脚本实验——配置引脚

    实验指导书及代码包下载: http://pan.baidu.com/s/1pJZDz0v iCore3 购买链接: https://item.taobao.com/item.htm?id=524229 ...

  6. 请求量限制方法-使用本地Cache记录当前请求量[坑]

    有个需求:需要限制每个账户请求服务器的次数(该次数可以配置在DB,xml文件或其他).单位:X次/分钟.若1分钟内次数<=X 则允许访问,1分钟内次数>X则不再允许访问.   这类需求很常 ...

  7. IE10 透明背景的div无法遮罩

    在IE10中无法遮罩button按钮 <input type="button" value="76576" /> <div style=&qu ...

  8. TF-IDF 文本相似度分析

    前阵子做了一些IT opreation analysis的research,从产线上取了一些J2EE server运行状态的数据(CPU,Menory...),打算通过训练JVM的数据来建立分类模型, ...

  9. Visual Studio 2012 常用快捷键

    1. 强迫智能感知:Ctrl+J:2.强迫智能感知显示参数信息:Ctrl-Shift-空格:3.格式化整个块:Ctrl+K+F4. 检查括号匹配(在左右括号间切换): Ctrl +]5. 选中从光标起 ...

  10. NSArray倒序

    NSArray倒序 NSArray *tmparr = [[upLoadImageArr reverseObjectEnumerator] allObjects]; ios 正则表达式替换 . 不可变 ...