使用FileUpload控件上传前预览图片

本文详细介绍了如何在ASP.NET应用中通过文件上传控件上传图片,并利用JavaScript动态更新图片预览的实现过程。包括上传图片格式验证、错误提示及图片预览展示的完整流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<table class="blue_table" cellpadding="0" cellspacing="0" border="0">
            <tr>
                <th colspan="2">添加商品图片</th>
            </tr>
            <tr>
                <td>
                    <div id="img_div" runat="server" style="filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale);width: 200px; height: 200px;margin:0 auto; margin-left:0px;border: 1px solid #e9ece5">
                        <img src="" runat="server"  alt="" /> 
                    </div>
                </td>
            </tr>
            <tr>
                <td>
                    &nbsp;
                    <asp:FileUpload ID="FileUpload1" runat="server" onchange="showimg('FileUpload1','img_div',200,200)" size="7" class="input" />
                </td>
            </tr>
        </table>

**************************

function clearfile(file,img,width,height)
{
   document.getElementById(file).parentNode.style.display="";
   document.getElementById(file).parentNode.innerHTML='<input type="file" name="'+file+'" id="'+file+'" onchange="showimg(\''+file+'\',\''+img+'\')" size="7" class="input" />';
   document.getElementById(img).innerHTML="<img style='width:"+width+"px;height:"+height+"px' src='' />";
}
function showimg(file,img,width,height)
{
    var dFile = document.getElementById(file);
    var dImg = document.getElementById(img);
    if(!getPath(dFile).match(/.jpg|.gif|.png|.bmp/i))
    {
        alert('上传图片格式必须是以下几种之一: .jpg , .gif , .bmp  或 .png !');
        clearfile(file,img);
        return;
    }
    if(dFile.files)
    {
        dImg.innerHTML="<img src='"+dFile.files[0].getAsDataURL()+"' style='width:"+width+"px;height:"+height+"px'/>";
    }
    else
    {
        if(dFile.value.indexOf('\\') > -1 || dFile.value.indexOf('\/') > -1)
        {
            dImg.innerHTML="";
            dImg.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = getPath(dFile);
        }
    }       
}
function getPath(obj) 
{   
    if(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;     
     }
 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值