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. 关于android端的json传输

    比较通用的传输方法 import java.util.ArrayList; import java.util.List; import org.apache.http.HttpEntity; impo ...

  2. JQuery类型转换

    来自:http://blog.csdn.net/kfanning/archive/2010/04/14/5485412.aspx 转换成数字 ECMAScript提供了两种把非数字的原始值转换成数字的 ...

  3. java抽象类和接口的区别

    抽象类特点:1.抽象类中可以构造方法2.抽象类中可以存在普通属性,方法,静态属性和方法.3.抽象类中可以存在抽象方法.4.如果一个类中有一个抽象方法,那么当前类一定是抽象类:抽象类中不一定有抽象方法. ...

  4. MVC Model数据验证

    概述 上节我们学习了Model的数据在界面之间的传递,但是很多时候,我们在数据传递的时候为了确保数据的有效性,不得不给Model的相关属性做基本的数据验证. 本节我们就学习如何使用 System.Co ...

  5. 学Python后到底能干什么?

    Python是一种什么语言? Python是一种计算机程序设计语言.你可能已经听说过很多种流行的编程语言,比如非常难学的C语言,非常流行的Java语言,适合初学者的Basic语言,适合网页编程的Jav ...

  6. spidermark sensepostdata ntp_monlist.py

    试NTP 时间服务器用的,ntp_ip_enum.py,源码如下:#!/usr/bin/env python"""Basic script to pull address ...

  7. Web前端开发基础 第四课(CSS文字和段落排版)

    文字排版--字体 我们可以使用css样式为网页中的文字设置字体.字号.颜色等样式属性.下面我们来看一个例子,下面代码实现:为网页中的文字设置字体为宋体. body{font-family:" ...

  8. win7 备份错误解决

    解决win7 备份出错, 开启服务: windows backup volume shadow copy

  9. 影响 PHP 行为的扩展和网络函数

    <?php /* * * 影响 PHP 行为的扩展 * PHP 选项和信息 * * assert_options — 设置/获取断言的各种标志 assert — 检查一个断言是否为 FALSE ...

  10. [LeetCode]题解(python):116 Populating Next Right Pointers in Each Node

    题目来源 https://leetcode.com/problems/populating-next-right-pointers-in-each-node/ Given a binary tree ...