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. call与apply基础用法告诉你

    Js用法中还有个极好的但是有些抽象的用法——call与apply,今天我要简单总结一下: var ob1={ //对象ob1 name:"ob1", func1:function( ...

  2. div居中

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  3. const 指针的三种使用方式

    ///////////////////////const 指针的三种状态///////////////////// 注意:const 的前后顺序 const 在类型之前 ---可以修改指针包含的地址, ...

  4. 2_STL容器

    STL算法的精髓在于  算法的  返回值!!! String: string是STL的字符串类型,通常用来表示字符串:C语言中一般用char* char*字符指针;string是类封装了char*,管 ...

  5. JS开发windows phone8.1系列之1

    http://msdn.microsoft.com/zh-cn/library/windows/apps/dn629638.aspx,要点: 1.了解项目结构:package.appxmanifest ...

  6. Node.js学习记录

    一.NPM 使用介绍 NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种: 允许用户从NPM服务器下载别人编写的第三方包到本地使用. 允许用 ...

  7. hibernate学习(2)——api详解对象

    1   Configuration 配置对象 /详解Configuration对象 public class Configuration_test { @Test //Configuration 用户 ...

  8. JS脚本文件的位置对页面加载性能影响以及无阻塞脚本(javascript)模式

    JS的阻塞特性:当<script>出现的时候,页面必须等待脚本文件的加载.解析.执行完毕后才能继续进行页面的渲染.不管脚本文件是以内联形式还是外部引入的形式出现在<script> ...

  9. iOS系统提供开发环境下命令行编译工具:xcodebuild

    iOS系统提供开发环境下命令行编译工具:xcodebuild[3] xcodebuild 在介绍xcodebuild之前,需要先弄清楚一些在XCode环境下的一些概念[4]: Workspace:简单 ...

  10. WordPress 添加面包屑导航

    所谓面包屑,就是类似这种:首页 > 公司简介 > 发展历史 展示网站树型结构,并让网站访问者随时知道自己所处的位置,方便返回上几级. 将下面的代码添加到主题的 functions.php ...