在Html里面好好的,可是放到我的aspx也就是.net项目中就出问题了图片根本没法显示出来,显示脚本错误,缺少对象,就算全部复制过去的一模一样的也是无法显示图片。跪求高手解答啊·,最好能帮我解决了·谢谢,或者给个.net项目中能用的上传图片预览并限制格式大小的代码啊··谢谢·啦·
这是html下的代码
    <script type="text/javascript">
        var picPath;
        var image;
        var box;        //只要调用这个方法就可以了,参数(this,这里为显示的位置)
        function LoadImage(ele, show_pos_obj) {
            picPath = GetImgPath(ele);
            if (picPath != "" && picPath != null) {
                image = new Image();
                image.src = picPath;
                box = GetObj(show_pos_obj);
                box.innerHTML = "<span style='color:gray;font-size:11px'>加载中...</span>";
                setTimeout(ImgView, 1000);
            } else {
                return false;
            }
        }        //呈现图片视图
        function ImgView() {
            if (image.width == 0 || image.height == 0) {
                settimeout(ImgView, 1000);
            } else {
                if (box != null) {
                    var imgWidth = (image.width >= box.offsetWidth) ? box.offsetWidth : image.width;
                    var imgHeight = (image.height >= box.offsetHeight) ? box.offsetHeight : image.height;
                    var alt = "图片实际尺寸为:" + image.width + "&nbsp;*&nbsp;" + image.height;
                    box.innerHTML = "<img width='" + imgWidth + "' height='" + imgHeight + "' id='apic' src='" + picPath + "' onload='DrawImage(this," + box.offsetWidth + "," + box.offsetHeight + ")' title=" + alt + " />";
                }
            }
        }        //获取IE,FF下图片的路径
        function GetImgPath(obj) {
            if (ValidateImgUrl(obj)) {
                if (window.navigator.userAgent.indexOf("MSIE") >= 1) {
                    obj.select();
                    return document.selection.createRange().text;
                }
                else if (window.navigator.userAgent.indexOf("Firefox") >= 1) {
                    if (obj.files) {
                        return obj.files.item(0).getAsDataURL();
                    }
                    return obj.value;
                }
                return obj.value;
            }
        }        //图片格式验证
        function ValidateImgUrl(obj) {
            var url = GetObj(obj).value;
            var filename = url.substring(url.lastIndexOf(".") + 1).toLowerCase();
            if (filename != "jpg" && filename != "gif" && filename != "png" && filename != "bmp" && filename != "jpeg") {
                alert("图片格式有误,请选择jpg|gif|png|bmp格式的图片上传"); return false;
            }
            if (url.length > 0) {
                //return document.getElementById(id).value;
                return true;
            }
            else { return false; }
        }        function GetObj(id) {
            return "string" == typeof id ? document.getElementById(id) : id;
        }        //图片按比例缩放
        var flag = false;
        function DrawImage(ImgD, iwidth, iheight) {
            //参数(图片,允许的宽度,允许的高度)
            var image = new Image();
            image.src = ImgD.src;
            if (image.width > 0 && image.height > 0) {
                flag = true;
                if (image.width / image.height >= iwidth / iheight) {
                    if (image.width > iwidth) {
                        ImgD.width = iwidth;
                        ImgD.height = (image.height * iwidth) / image.width;
                    } else {
                        ImgD.width = image.width;
                        ImgD.height = image.height;
                    }
                } else {
                    if (image.height > iheight) {
                        ImgD.height = iheight;
                        ImgD.width = (image.width * iheight) / image.height;
                    } else {
                        ImgD.width = image.width;
                        ImgD.height = image.height;
                    }
                }
            }
        }
    </script>----------------------------------------------------------------------------------------------
这是.et中aspx页面下的<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="News_Insert.aspx.cs" Inherits="JinMaoJu.News_Insert" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title></title>
    
    <script type="text/javascript">
        var picPath;
        var image;
        var box;        //只要调用这个方法就可以了,参数(this,这里为显示的位置)
        function LoadImage(ele, show_pos_obj) {
            picPath = GetImgPath(ele);
            if (picPath != "" && picPath != null) {
                image = new Image();
                image.src = picPath;
                box = GetObj(show_pos_obj);
                box.innerHTML = "<span style='color:gray;font-size:11px'>加载中...</span>";
                setTimeout(ImgView, 1000);
            } else {
                return false;
            }
        }        //呈现图片视图
        function ImgView() {
            if (image.width == 0 || image.height == 0) {
                settimeout(ImgView, 1000);
            } else {
                if (box != null) {
                    var imgWidth = (image.width >= box.offsetWidth) ? box.offsetWidth : image.width;
                    var imgHeight = (image.height >= box.offsetHeight) ? box.offsetHeight : image.height;
                    var alt = "图片实际尺寸为:" + image.width + "&nbsp;*&nbsp;" + image.height;
                    box.innerHTML = "<img width='" + imgWidth + "' height='" + imgHeight + "' id='apic' src='" + picPath + "' onload='DrawImage(this," + box.offsetWidth + "," + box.offsetHeight + ")' title=" + alt + " />";
                }
            }
        }        //获取IE,FF下图片的路径
        function GetImgPath(obj) {
            if (ValidateImgUrl(obj)) {
                if (window.navigator.userAgent.indexOf("MSIE") >= 1) {
                    obj.select();
                    return document.selection.createRange().text;
                }
                else if (window.navigator.userAgent.indexOf("Firefox") >= 1) {
                    if (obj.files) {
                        return obj.files.item(0).getAsDataURL();
                    }
                    return obj.value;
                }
                return obj.value;
            }
        }        //图片格式验证
        function ValidateImgUrl(obj) {
            var url = GetObj(obj).value;
            var filename = url.substring(url.lastIndexOf(".") + 1).toLowerCase();
            if (filename != "jpg" && filename != "gif" && filename != "png" && filename != "bmp" && filename != "jpeg") {
                alert("图片格式有误,请选择jpg|gif|png|bmp格式的图片上传"); return false;
            }
            if (url.length > 0) {
                //return document.getElementById(id).value;
                return true;
            }
            else { return false; }
        }        function GetObj(id) {
            return "string" == typeof id ? document.getElementById(id) : id;
        }        //图片按比例缩放
        var flag = false;
        function DrawImage(ImgD, iwidth, iheight) {
            //参数(图片,允许的宽度,允许的高度)
            var image = new Image();
            image.src = ImgD.src;
            if (image.width > 0 && image.height > 0) {
                flag = true;
                if (image.width / image.height >= iwidth / iheight) {
                    if (image.width > iwidth) {
                        ImgD.width = iwidth;
                        ImgD.height = (image.height * iwidth) / image.width;
                    } else {
                        ImgD.width = image.width;
                        ImgD.height = image.height;
                    }
                } else {
                    if (image.height > iheight) {
                        ImgD.height = iheight;
                        ImgD.width = (image.width * iheight) / image.height;
                    } else {
                        ImgD.width = image.width;
                        ImgD.height = image.height;
                    }
                }
            }
        }
    </script>
    
</head>
<body style=" text-align:center">
 
    <input type="file" name="pic" id="pic" onchange='LoadImage(this,"box")' />
    <div id='box' style="width: 300px; height: 300px">
    </div>
 
</body>
</html>

解决方案 »

  1.   

    安全性问题,不允许访问本地资源。
    尤其是ie7之后,上传的时候是没有路径的
    http://www.norun.cn/UpFiles/Article/201171117475331032.jpg
      

  2.   


    而且现在我把那个启用了还是无用,还是Html里好好的·跑到aspx``.net项目中就失效了·总是说缺少对象····纠结···
      

  3.   


    我都纠结死了·Html里明明好好的,就全部复制过来放aspx页面里就没用·····
      

  4.   

    所以,现在的解决方法就是
    使用flash,silverlight上传,或者先传到服务器上再进行预览