繁体   English   中英

如何在单击“浏览”后立即生成FileUpload控件上传文件?

[英]How to make FileUpload control upload file right after clicking 'Browse'?

直到现在,我一直在使用2个控件(FileUpload和附加按钮)。 在fileUpload控件中选择文件后,用户必须通过按“保存”按钮接受他的选择。

这是按钮的代码:

    protected void Button1_Click(object sender, EventArgs e)
    {
        if (FileUpload1.HasFile)
        {
            FileUpload1.SaveAs(Server.MapPath("~/file.jpg"));
            Label1.Text = Server.MapPath("~/file.jpg");
            Image1.ImageUrl = "file.jpg";
        }
    }

我想知道是否有办法避免使用该按钮,因此FileUpload控件的按钮将执行附加按钮的工作。

FileUpload控件在浏览器中呈现<input type="file> 。您可以使用javascript change事件来触发上载。

首先确保在页面body中注册了一个load事件处理程序:

<body onload="body_onload()">

并在事件处理程序中添加此代码:

<script type="text/javascript">
    function body_onload()
    {
        ...

        $get('<%=FileUpload.ClientID%>').onchange = function() { 
            $get('<%=this.Page.Form.ClientID%>').submit(); 
        };
    }
</script>

或者使用纯jQuery执行此操作,将其放在页面的head (如果您还没有包含jQuery):

<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>

然后使用此代码绑定到事件(将#fileUpload1#form1替换为FileUploadForm元素的id):

<script type="text/javascript">
    $(document).ready(function() {
        $("#fileUpload1").change(function() {
            $("#form1").submit();
        });
    });
</script>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM