zoukankan      html  css  js  c++  java
  • 使用input=file上传

    前台,form的target指向iframe

                <form action="/EmailHandler.ashx?action=upload" id="form1" name="form1" enctype="multipart/form-data" method="post" target="hidden_frame">
                    <div class="up_file" id="up_file">
                        <input type="file" class="fl  h_20 w_300" id="file" multiple=multiple name="upload" onchange="fileSelected()" />
                        <input type="submit" value="上传" />
                    </div>
                    <iframe name='hidden_frame' id="hidden_frame" style='display:none'></iframe>
                    <div id="fileInfo"></div>
                </form>
    //上传后的回调方法
            function callback(msg) {
                document.getElementById("file").outerHTML = document.getElementById("file").outerHTML;
                $('#attr_url').val(msg);
                document.getElementById('fileInfo').innerHTML +="<p>上传成功</p>"
            }

    后台:

    case "upload":
                        #region 上传文件
                        {
                            string path = "";
                            if (context.Request.Files.Count > 0)
                            {
                                HttpFileCollection files = context.Request.Files;//接受文件
                                if (files.Count > 0)
                                {
                                    foreach (string i in files)
                                    {
                                        HttpPostedFile file = files[i];
                                        string fileName = Path.GetFileName(file.FileName);//获取文件名
                                        string fileExt = Path.GetExtension(fileName);//获取文件类型
                                        if (!Directory.Exists(context.Server.MapPath("/emailFiles/")))
                                        {
                                            Directory.CreateDirectory(context.Server.MapPath("/emailFiles/"));
                                        }
                                        
                                        string dircStr = "/emailFiles/" + emp.uid + "/";
                                        if (!Directory.Exists(context.Server.MapPath(dircStr)))
                                        {
                                            Directory.CreateDirectory(Path.GetDirectoryName(context.Server.MapPath(dircStr)));
                                        }
                                        string name =dircStr+ DateTime.Now.Year+"-"+DateTime.Now.Month+"/";
                                        if (!Directory.Exists(context.Server.MapPath(name)))
                                        {
                                            Directory.CreateDirectory(Path.GetDirectoryName(context.Server.MapPath(name)));
                                        }
                                        string fileLoadName = name +DateTime.Now.Day.ToString()+DateTime.Now.Hour.ToString()+DateTime.Now.Minute.ToString()+DateTime.Now.Second.ToString()+ fileExt;
                                        file.SaveAs(context.Server.MapPath(fileLoadName));
                                        path += fileLoadName + ',';
                                    }
                                }
                                path = path.TrimEnd(',');
                                context.Response.Write("<script>parent.callback('" + path + "')</script>");//调用前台的回调方法
                            }
                            break;
                        }
                        #endregion
  • 相关阅读:
    nginx 、tomcat 配置表单附件大小限制
    清理redis服务器数据
    tomcat 8.5.55 webapps 无法部署应用目录 org.apache.catalina.startup.HostConfig.deployDirectory
    redis + tomcat8.5 session共享
    linux tar 打包
    mysql ORDER BY RAND() 语句优化
    解决Linux下程序端口占用问题
    javamail邮件发送开发中SharedByteArrayInputStream类找不到的错误(java.lang.NoClassDefFoundError: com/sun/mail/util/SharedByteArrayInputStream)
    ansible判定文件或者文件夹是否存在
    ansible应用
  • 原文地址:https://www.cnblogs.com/Celebrator/p/4650384.html
Copyright © 2011-2022 走看看