`

用iframe实现灵活的上传文件

    博客分类:
  • .NET
阅读更多
     用iframe其实还是可以做不少效果的,比如想做这样一饿效果:用户点某个连接,然后弹出文件上传框,之后点选了文件后,可以马上上传文件,而不象平时那样,选好文件好,还要按“上传”。是这样实现的,用IFRAME,

首先在index.aspx中这样写
<script type="text/javascript" language="javascript">
    function Browse()
    {
        var ifUpload;
        var confirmUpload;
        ifUpload = ifu.document.form1;
        ifUpload.myFile.click();
    }    
 </script>
    <title>File Upload</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Label ID="lblStart" runat="server"></asp:Label>
        <a href="#" OnClick="javascript:Browse();">增加文件</a>
        <iframe src="Upload.aspx" frameborder="0" id="ifu" name="ifu"></iframe>
    </div>
    </form>
这里,有一个iframe,指向upload.aspx,当用户点“增加文件”时,首先是调用javascript的browse()了。在这里,先看下upload.aspx先

<script runat="server">
    protected void Page_Load(object sender, EventArgs e)
    {
        string strFileName;
        string strFileExtension;
        int intLastIndex;
        if (Request.Files.Count == 1)
        {
            try
            {
                strFileName = myFile.PostedFile.FileName;
                intLastIndex = strFileName.LastIndexOf("\\");
                if (intLastIndex > 0)
                {
                    intLastIndex += 1;
                    strFileName = strFileName.Substring(intLastIndex, (strFileName.Length - intLastIndex));
                    strFileExtension = strFileName.Substring(strFileName.Length - 4, 4);
                    if (strFileExtension == ".txt")
                    {
                        myFile.PostedFile.SaveAs(Server.MapPath(".") + "\\" + strFileName);
                        lblMsg.Text = strFileName + " Uploaded Sucessfully!";
                    }
                    else
                    {
                        lblMsg.Text = "Only Text File (.txt) can be uploaded.";
                    }
                }
                else
                {
                    lblMsg.Text = "Please Select a File!";
                }
            }
            catch (Exception exc)
            {
                lblMsg.Text = exc.Message;
            }
        }
    }
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<script type="text/javascript">
    function SubmitForm()
    {
      
        document.form1.submit ();
    }
</script>
    <title>Upload</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <input type="file" runat="server" id="myFile" name="myFile" style="visibility:hidden;" />
        <input type="button" runat="server" id="btnSubmit" name="btnSubmit" onclick="javascript:SubmitForm();" style="visibility:hidden;" />
        <br /><asp:Label ID="lblMsg" runat="server" ForeColor="red" Font-Size="Medium" Font-Bold="true"></asp:Label>   
    </div>
    </form>
</body>

这里,同样也有一个文本上传框,但style是hidden,名称是myFile,而那个传统的上传按钮,这里叫btnSUbmit,而其onclick事件
submitform里,则提交了表单,同时load()里则是实际的上传代码。
    同样,在main.aspx中,ifUpload.myFile.click();其实是调用了upload.aspx中的那个上传文件框,首先打开了这个文件框,然后当选定文件后,则通过
ifUpload.btnSubmit.click();实际上调用了那个“上传”的按钮了,从而完成整个过程
分享到:
评论

相关推荐

    ajax实现文件上传

    在 AJAX 出现之前,Web 开发人员就已经能够通过使用 iframe 来实现页面的部分刷新,尤其是对于文件上传这类操作而言。然而,随着 AJAX 的普及,更多的开发者转向了这种更为灵活和现代化的技术。 #### 使用 iframe ...

    asp 大文件上传 更灵活的上传方式

    - **安全性**:防止文件注入攻击,对上传文件进行安全检查和验证。 - **进度反馈**:提供上传进度,让用户知道文件上传的状态。 - **存储优化**:根据需求,可能需要进行文件切片、存储压缩或分布式存储。 在ASP...

    frameset 上传文件窗口最小化(未实现)

    标题“frameset 上传文件窗口最小化(未实现)”表明我们正在探讨如何在使用frameset进行文件上传时,尝试实现上传窗口的最小化功能,但这个功能目前尚未实现。 在描述中提到的“对象是如何传递到TOP页面的”,这...

    详解Ajax和form+iframe 实现文件上传的方法(两种方式)

    在文件上传的场景中,Ajax可以实现异步上传文件,提供更好的用户体验。 在现代浏览器中,特别是HTML5的支持下,文件上传变得更加简单和强大。HTML5引入了`&lt;input type="file"&gt;`的多文件选择功能,和`XMLHttpRequest...

    通过隐藏iframe实现无刷新上传文件操作

    本文将详细介绍如何使用隐藏的IFrame实现无刷新上传文件,以及涉及到的相关技术。 首先,我们需要创建一个HTML表单,其中包含一个用于选择文件的`&lt;input type="file"&gt;`元素。这个表单的`target`属性设置为一个...

    jQuery实现文件编码成base64并通过AJAX上传的方法

    使用AJAX是无法直接上传文件的,一般都是新建个iframe在它里面完成表单提交的过程以达到异步上传文件的效果。 如此做可以达到比较好的浏览器兼容性,不过代码量会比较大,即使是使用了文件上传插件,例如plupload。 ...

    form+iframe解决跨域上传文件的方法

    为了解决这个问题,可以使用`form`配合`iframe`的技术来实现跨域文件上传。这种方法主要利用了`form`表单提交时可以指定目标`target`属性,而`iframe`可以加载其他域的内容而不违反同源策略。 1. **`form`标签与`...

    ajax jsp 无刷新上传文件

    ### AJAX与JSP结合实现无刷新文件上传 ...此外,虽然本例中使用了IFrame来实现无刷新的效果,但真正的AJAX实现方式会更灵活和高效,可以使用jQuery等库提供的AJAX方法来进一步优化前端的交互效果。

    ASP.NET同时上传多个文件

    在ASP.NET中,同时上传多个文件是常见的功能需求,尤其在处理用户批量上传图片、文档等场景下。本文将深入探讨如何...在更现代的版本中,可以使用AJAX和WebAPI等更先进的技术来实现更高效、更灵活的多文件上传功能。

    ASP.NET 多附件上传实现代码

    这个CodeBehind文件通常命名为Default.aspx.cs,它包含了处理上传文件、保存文件到服务器以及返回处理结果的逻辑。 总结而言,***多附件上传实现代码的知识点涵盖了以下方面: 1. JavaScript动态创建DOM以实现文件...

    顶!艾恩ASP文件上传组件

    【艾恩ASP文件上传组件】是一款专为ASP(Active Server Pages)开发的文件上传解决方案,它简化了在ASP环境中处理文件上传的过程,提供了多种上传方式,包括iframe框架上传、混合上传和弹窗上传,同时也支持使用Ajax...

    springmvc+jdbc+mysql+bootstrap整合,提取sql到xml,使用iframe实现上下、左右分栏

    通过将SQL存储在XML文件中,提高了代码的可维护性,而IFRAME的应用则提供了灵活的页面布局。项目中的"myframe"可能包含了项目的源代码、配置文件、样式表和数据库脚本等,这些都是完成上述功能的关键组成部分。通过...

    用iframe实现不刷新整个页面上传图片的实例

    这种利用`iframe`实现无刷新上传图片的方法具有一定的灵活性,可以满足不使用Flash或其他第三方插件的需求。如果需要更复杂的功能,比如进度条显示,可以在Servlet端输出进度信息,然后通过JavaScript在客户端更新...

    ASP无组件上传实例

    在这个类中,开发者通常会封装FTP相关的函数,如连接FTP服务器、登录、创建目录、上传文件等操作。这个类可能是整个上传过程的核心,通过实例化这个类并在ASP页面中调用相关方法,可以实现文件的上传功能。 "说明....

    plupload2.1.3 文件上传控件

    Plupload 2.1.3 是一款功能强大的文件上传组件,尤其在JavaScript环境下,它提供了高效、稳定且灵活的文件上传解决方案。相比早期的SWFUpload,Plupload 提供了更多的特性和更好的用户体验,适用于现代Web应用的需求...

    jquery.form用type=file上传文件

    因此,jQuery Form插件使用iFrame技术绕过这个问题,实现了无刷新的文件上传。 ### 使用jQuery Form插件 1. **引入依赖**:首先,确保在页面中引入了jQuery库和jQuery Form插件。例如: ```html ...

    简单易懂的C#上传代码(不用第三方组件,可上传图片、Flash、视频文件等)

    - 如果是图片文件,你可能还需要实现一个预览功能,可以使用HTML5的`&lt;img&gt;`元素的`src`属性指向已上传文件的URL,或者使用JavaScript/jQuery动态创建图片元素并加载。 7. 安全考虑: - 需要注意的是,文件上传...

    xoxoASP无组件上传类(包括ajax,ifram框架上传,弹窗上传,混合上传)

    ASP(Active Server Pages)是一种微软开发的服务器端脚本环境,用于创建动态交互式网页。在给定的压缩包文件中,"xoxoASP无组件上传类"是一系列实现文件上传...总的来说,这是一个方便且灵活的ASP文件上传解决方案。

    javascript多文件上传 无刷新

    这种方式虽然简单易用,但在用户体验方面存在明显的不足:每次上传文件都需要重新加载整个页面,导致页面跳动,用户体验不佳。为了解决这一问题,开发者们开始探索更加高效、流畅的文件上传方法,其中就包括了本文...

    flex-iframe-1.4.6

    3. **文档**:可能包含README文件或其他形式的文档,详细解释了如何安装、配置和使用flex-iframe-1.4.6库,包括API参考和使用示例。 4. **许可证文件**:开源项目通常会包含一个LICENSE文件,说明了该项目的授权...

Global site tag (gtag.js) - Google Analytics