zoukankan      html  css  js  c++  java
  • 通过iframe上传

    无刷上传已不是什么新鲜事了,今天主要记录一下通过iframe无刷上传。随便总结一下网页上传。

    1)直接网页里面加file控件然后网页回发上传。

    2)无刷上传主要通过iframe实现及现在html5标准中出台FileReader及XmlHttpRequest中的一些新方法上传。

    3)插件类上传(activex、flash、silverlight 等)。

     无刷上传网上已经有很多很完善的了,今天主要以最简单的方式记录一下。

    iframe上传脚本。

     <script type="text/javascript"> 
         function sendFile() {
    
             $("#form1").attr("encoding", "multipart/form-data");
             $("#form1").attr("action", "AjaxServer/upload.ashx");
             $("#form1").attr("target", "hd");
             $("#form1").submit();
         }
             function showMessage(msg) {
                 alert(msg);
             }
        
             //from重定向
             function redirect() {
                 $("#form1").attr("action", location.href);
                 $("#form1").removeAttr("target");
                 $("#form1").attr("encoding", "application/x-www-form-urlencoded");
                 if ($("#form1").attr("target") == null || $("#form1").attr("target") == "") {
                     return true;
                 }
                 else {
                     return false;
                 } 
             }
         </script> 

    asp.net页面

        <form id="form1" runat="server">
           
         <iframe id="hd" name="hd"  src="about:blank"></iframe>
         
         <div id="screenshot" style="display: block; background-color: #FFFF99; position: absolute;
               350px; left: 8px; bottom: 137px; border: 1px; border-color: Gray; border-style: solid;
             z-index: 1;">
              <input type="file" id="file1" name="upfile" size="28" />
             <input type="button" value="发 送" onclick="sendFile()" />
         </div> 
         <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" OnClientClick="return redirect()" />
         <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
         <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
        </form>

    upload.ashx

            context.Response.ContentType = "text/html";
            string path;
            if (context.Request.Files.Count > 0 && context.Request.Files[0].FileName != "")
            {
                HttpPostedFile hpf = context.Request.Files[0];
                if (hpf.FileName.Contains("\\"))
                    path = context.Server.MapPath("../Upload/" + hpf.FileName.Substring(hpf.FileName.LastIndexOf("\\")));
                else
                    path = context.Server.MapPath("../Upload/" + hpf.FileName);
    
                hpf.SaveAs(path);
                context.Response.Write("<script  type=\"text/javascript\">parent.showMessage('上传成功');</script>");
            }
            else
            {
                context.Response.Write("<script  type=\"text/javascript\">parent.showMessage('未获取到文件');</script>");   
            }
  • 相关阅读:
    重载
    两数之和
    求二叉树层序遍历
    最小的K的个数
    二分查找
    实现二叉树先序,中序,后序
    判断 链表中是否有环
    设计LRU缓存结构
    排序
    反转链条
  • 原文地址:https://www.cnblogs.com/wonderfuly/p/2642197.html
Copyright © 2011-2022 走看看