asp.net利用表单提交,上传文件,图片

       今天在修改公司前辈代码,框架是基于C#,ASP.NET技术,期间使用到图片拍照上传功能时,在前台预览图片后,表单提交到后台处理,但是后台获取不到图片,百思不得其解。下面我们一起来看一看:
       1.前端代码

<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body class="body_b">
    <form id="form1" runat="server" >    
        <div class="block_tb0">
            <div class="login_form">
                <!--拍摄人脸照片 -->
                <div class="upload">
                    <p class="part_title">拍照上传</p>
                    <p class="pic">
                        <input type="file" name="file" accept="image/*"  onchange="buChange(this)" id="personImg" capture="camera"/>
                        <img  alt="" id="imgHead"/>
                    </p>
                </div>
                <div class="radio">
                    <label>
                        <input id="cbOk" type="checkbox" name="cbOk" onclick="cbCheck();" runat="server"/>
                        我已阅读并同意</label><a href="javascript:DisplayLayer01()">《用户注册协议》</a>
                </div>
                <asp:HiddenField ID="HiddenOp" runat="server" />
                <div id="ButtonbtnReg1" class="public_button">
                    <asp:Button ID="btnReg" runat="server" Text="注册" OnClick="btnReg_Click" ClientIDMode="Static" class="disabled"/>
                </div>
            </div>
        </div>
    </form>
</body>
</html>

2.后台处理

protected void btnReg_Click(object sender, EventArgs e)
{
    System.Web.HttpFileCollection file = System.Web.HttpContext.Current.Request.Files;
    if (file.Count < 1)
    {
        MessageSweetBox.Show(this.Page, "请拍摄图片!", "warning");
        return;
    }
}

可以测试,以上代码在后台是获取不到前台的图片文件的,因为不加runat="server",在代码编译之后,后台action不会和当前页面绑定,而加上runat="server"之后,则两者就存在了绑定关系,而且在表单提交时,必须在form和type=“file”标签都加上runat="server"属性才可以(封闭式)

第二种方式是(开放式):在form标签中加上   enctype="multipart/form-data"  属性,则 type=“file” 标签中,可以不加,也可以实现上传,后台System.Web.HttpFileCollection file = System.Web.HttpContext.Current.Request.Files;方式获取

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风一样的虞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值