日期:2014-05-18  浏览次数:20514 次

input file 字符串截取
在文件上传时选择的控件是<input id="myFile" type="file" runat="server" name="myFile">
点击浏览,弹出文本框,选择需要的文件,选择完了在前面的文本框显示路径和文件名称,现在不想要路径,只想要文件名,这个用什么方法截取,点击浏览按钮(这个按钮是file类型自带的,在哪触发完截取呢)

------解决方案--------------------
C# code
 #region    上传文件到数据库和服务器
        public void FN_UpFiles()
        {

            //遍历File表单元素
            HttpFileCollection files = HttpContext.Current.Request.Files;
            for (int iFile = 0; iFile < files.Count; iFile++)
            {
                //检查文件扩展名字
                HttpPostedFile postedFile = files[iFile];
                string fileName = "";//定义文件名
                //string fileExtension = "";
                fileName = Path.GetFileName(postedFile.FileName);//得到上传文件的完整名称 即文件名+后缀名
                int index = fileName.IndexOf(".");
                string FileType = fileName.Substring(index).ToLower();//截取文件后缀名
                //FileTypeImg = "../FileTypeimg/" + hz + ".gif";
                Guid fileGuid = Guid.NewGuid();//生成新的文件名称 以GUID命名防止文件名相同
                string NewFileName = fileGuid.ToString();//新的文件名
                NewFileName = NewFileName + FileType;//新的文件名+后缀名

                if (fileName != "")//如果文件名不为空
                {

                    //文件虚拟路径
                    string strpath = System.Web.HttpContext.Current.Server.MapPath("~/Upload/") + NewFileName;
                    try
                    {
                        NRModel.File model = new NRModel.File();
                        NRBLL.File bf = new NRBLL.File();
                        Guid guid1 = Guid.NewGuid();
                        Guid guid2 = new Guid(FolderId);
                        Guid guid3 = Guid.NewGuid();
                        Guid guid4 = Guid.NewGuid();
                        model.Fileid = guid1;
                        model.Folderid = guid2;
                        model.Filepath = strpath;
                        model.FileNam = fileName;
                        model.FileSize = postedFile.ContentLength;
                        model.Decription = this.TextArea1.Value.ToString();
                        model.CreateOn = DateTime.Now;
                        model.CreateBy = guid3;
                        model.ModefyBy = guid4;
                        if (bf.FN_AddNewRes(model) > 0)
                        {
                            NR.Error.Log.LogType("上传资源" + fileName + "成功!" + "服务器路径:" + strpath);
                            //保存文件到指定目录(虚拟目录)
                            postedFile.SaveAs(System.Web.HttpContext.Current.Server.MapPath("~/Upload/") +NewFileName);
                            Page.RegisterStartupScript("提示", "<script language='javascript'>alert('上传成功!');self.opener.location.reload();window.close();</script>");
                        }
                    }
                    catch (Exception ex)
                    {
                        NR.Error.Log.LogType(ex.ToString());
                    }
                }
            }
        }
    }
        #endregion

------解决方案--------------------
HTML code
    <input id="Text1" type="text" />
    <input id="File1" type="file" onchange="GetPath(this.value)" />
    <script type="text/javascript">
        function GetPath(obj){
            obj = obj.replace(/.*\\/g,"");
            document.getElementById("Text1").value=obj
        }
    </script>