主题: 上传图片,文件名设置处存在bug??
作者: 雪峰, 发布日期: 2012-05-22 10:12:56, 浏览数: 3797

环境 asp.net.mvc3

 

自己单独写了负责上传的控制器。代码如下:

[HttpPost]
        public JsonResult UpLoadFiles(string path)
        {
            string saveUrl = "/UploadFiles";
            if (!string.IsNullOrEmpty(path))
            {
                saveUrl += "/" + path;
            }
            saveUrl += "/" + DateTime.Now.ToShortDateString() + "/";

            string savePath = Server.MapPath(saveUrl);
            if (!Directory.Exists(savePath))
            {
                Directory.CreateDirectory(savePath);
            }

            HttpPostedFileBase imgFile = Request.Files["imgFile"];
            String fileName = imgFile.FileName;
            String fileExt = Path.GetExtension(fileName).ToLower();
            string filePath = savePath + fileName;

            Hashtable hash = new Hashtable();

            if (System.IO.File.Exists(filePath))
            {
                hash["error"] = 1;
                hash["message"] = "存在同名文件!";
            }
            else
            {
                imgFile.SaveAs(filePath);
                hash["error"] = 0;
                hash["url"] = saveUrl+fileName;
            }

            return Json(hash, JsonRequestBehavior.AllowGet);
        }

 

问题描述:

HttpPostedFileBase imgFile = Request.Files["imgFile"];
            String fileName = imgFile.FileName;

这里,fileName得到的是包含原文件路径的全名。例如:"C:\\Users\\QiQing\\Pictures\\4faa06f45c6e9.jpg"。求原因。

作者: Roddy, 发布日期: 2012-05-22 10:24:09
这个和编辑器无关,上传用form方式提交的。
回复
作者: 雪峰, 发布日期: 2012-05-28 10:07:42

额,谢谢诸位朋友。您能说下这个问题如何解决吗?挺发愁的。 我用谷歌浏览器收到的结果是正常的,包含文件名及扩展名的,但是用ie9,就包含了原始上传路径。

回复
发表新帖 发表回复