图片上传预览

html 图片显示代码

<div id="imageShow" class="column" style="width: 100%" >
<div class="the-widget-block the-common-margin-top" style="width:100%;"> <div id="PageImageNew" style="max-width: 175px; max-height: 180px; border: 0px;"></div> <div id="PageImage"> <div class="widget the-common-margin-top" style="border: 1px solid #eeeeee;"> <img id="imgHolder" style="max-width: 175px; max-height: 180px; border: 0px;" alt="" />
</
div> </div> </div>
</div>

上传的html

<div  id="uploadImageDiv" class="column">    
        <form id="formImageUpload" name="formImageUpload" method="post" enctype="multipart/form-data">
        <input type="hidden" name="imageId_hide" id="imageId_hide" />
        <div id="fileDiv">
            <input type="file" id="theFile" name="theFile" size="20" style="cursor: pointer;
                width: 65px; height: 30px; position: absolute; filter: alpha(opacity:1); -moz-opacity: 0;
                opacity: 0; z-index: 102;" />
        </div>
        <div id="cover" style="position: absolute; background-color: #FAFAFA; z-index: 10;
            filter: alpha(opacity=100); -moz-opacity: 1; opacity: 1; overflow: auto; width: 150px;">
            <input id="selectImage" type="button" style="width: 65px; height: 30px;" value="Select" />
            &nbsp;&nbsp;
            <input type="button" value="Upload" id="imageUpload" style="width: 65px; height: 30px;"
                disabled="disabled" onclick="javascript:uploadImage();" />
        </div>
        </form>    
</div

 

 

上传时的遮罩

<div id="temp_div" style="position: absolute; z-index: 987; background-color: White;
    filter: alpha(opacity=50); overflow: hidden; -moz-opacity: 0.5; opacity: 0.5">
</div>

图片预览代码:此部分来源于http://www.cnblogs.com/slyzly/articles/2411940.html

//js本地图片预览,兼容ie[6-9]、火狐、Chrome17+、Opera11+、Maxthon3
function PreviewImage(fileObj, imgPreviewId, divPreviewId) {
    var allowExtention = ".jpg,.bmp,.gif,.png"; //允许上传文件的后缀名document.getElementById("hfAllowPicSuffix").value;
    var extention = fileObj.value.substring(fileObj.value.lastIndexOf(".") + 1).toLowerCase();
    var browserVersion = window.navigator.userAgent.toUpperCase();
    if (allowExtention.indexOf(extention) > -1) {
        if (fileObj.files) {//HTML5实现预览,兼容chrome、火狐7+等
            if (window.FileReader) {
                var reader = new FileReader();
                reader.onload = function (e) {
                    document.getElementById(imgPreviewId).setAttribute("src", e.target.result);
                }
                reader.readAsDataURL(fileObj.files[0]);
            } else if (browserVersion.indexOf("SAFARI") > -1) {
                alert("不支持Safari6.0以下浏览器的图片预览!");
            }
        } else if (browserVersion.indexOf("MSIE") > -1) {
            if (browserVersion.indexOf("MSIE 6") > -1) {//ie6
                document.getElementById(imgPreviewId).setAttribute("src", fileObj.value);
            } else {//ie[7-9]
                fileObj.select();
                if (browserVersion.indexOf("MSIE 9") > -1){
document.getElementById(divPreviewId).focus();
// fileObj.blur(); //不加上document.selection.createRange().text在ie9会拒绝访问
}
                var newPreview = document.getElementById(divPreviewId + "New");

                if (newPreview == null) {
                    newPreview = document.createElement("div");
                    newPreview.setAttribute("id", divPreviewId + "New");
                }

                var _path = document.selection.createRange().text;//ie9 下有时候得到的值为空 就用fileObj.value 代替

                if (_path == null || _path == "") {
                    _path = fileObj.value;
                }
                
                newPreview.style.height = 390 + "px";
                newPreview.style.border = "solid 1px #eeeeee";

                
                newPreview.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale',src='" + _path + "')";
                var tempDivPreview = document.getElementById(divPreviewId);
                
                newPreview.style.display = "block";
                tempDivPreview.style.display = "none";
            }
        } else if (browserVersion.indexOf("FIREFOX") > -1) {//firefox
            var firefoxVersion = parseFloat(browserVersion.toLowerCase().match(/firefox\/([\d.]+)/)[1]);
            if (firefoxVersion < 7) {//firefox7以下版本
                document.getElementById(imgPreviewId).setAttribute("src", fileObj.files[0].getAsDataURL());
            } else {//firefox7.0+                    
                document.getElementById(imgPreviewId).setAttribute("src", window.URL.createObjectURL(fileObj.files[0]));
            }
        } else {
            document.getElementById(imgPreviewId).setAttribute("src", fileObj.value);
        }
    } else {
        alert("仅支持" + allowExtention + "为后缀名的文件!");
        fileObj.value = ""; //清空选中文件
        if (browserVersion.indexOf("MSIE") > -1) {
            fileObj.select();
            document.selection.clear();
        }
        fileObj.outerHTML = fileObj.outerHTML;
    }
}

//清空type=file 的value值

function clearFileValue(fileId) {
    var file = $(fileId);
    file.after(file.clone(true,false));
    file.remove();
}

 

 

js上传 部分(ajax 上传 需要引用jquery.form.js):

var $imgHolder = $('#imgHolder');
var tempDiv = $("#temp_div");

$("#selectImage", "#cover").click(function () {
    $("#theFile").click().select();

});
$("#theFile").click(function () {
    $(this).blur();
});
$("#theFile").change(function () {
    var path = this.value;
    PreviewImage(this, 'imgHolder', 'PageImage');

    $("#imageUpload").prop("disabled", false);    
});

function showRequest(formData, jqForm, options) {

    var flag = true;
    for (var i = 0; i < formData.length; i++) {
        if (formData[i].name == "theFile") {
            if (formData[i].value == null || formData[i].value == "") {
                alert("请选择需要上传的图片!");
                flag = false;
                break;
            }
        }
    }
    if (flag) {
        var position = $("#imageShow").position();
        var height = $("#imageShow").css("height");
        var width = $("#imageShow").css("width");
        var css = { top: position.top, left: position.left, width: width, height: height };
        var content = "<div style=\"margin-top:20%; margin-left:20%;\">图片上传中...</div>";
        tempDiv.empty().append(content).css(css).show();

        return true;
    }
    else {
        return false;
    }
}
function showResponse(responseText, statusText) {

};

function uploadImage() {

    if (confirm("确定要上传吗?")) {

        var formId = "#formImageUpload";
        var CatalogNo = $("#CatalogNo_hide").val();
        if (CatalogNo == "") {
            CatalogNo = $("#txtCatalogNo").val();
        }
        $(formId).ajaxSubmit({
            dataType: "json",
            url: "/ElisaKit/UploadImage?CatalogNo=" + CatalogNo + "&r=" + Math.random(),
            beforeSubmit: showRequest,
            success: function (res) {
                tempDiv.hide();                
                if (res.flag == "ok") {
                    alert("数据保存完毕!");
                    $("#imageUpload").prop("disabled", true);
                    clearFileValue("#theFile");
                }
                else {
                    alert(res.flag);
                }
                return false;
            },
            error: function (error) {
                alert("error:" + error);
            }
        });
        return false;
    } 

};

 

posted @ 2014-04-03 16:14  江—城—子  阅读(261)  评论(0编辑  收藏  举报