使用ASP.NET MVC将文件上载到子目录中的Web应用程序

时间:2015-06-30 11:44:13

标签: asp.net-mvc asp.net-mvc-4 file-upload subdirectory

我创建了一个存在于子目录中的ASP.NET MVC Web应用程序。问题是我每次尝试上传文件时都会收到此错误" 无法找到路径的一部分"。

代码在我的本地计算机和其他网络应用程序上完美运行,所以我认为问题与子目录中存在的Web应用程序有关,但我不知道如何解决它。 / p>

提前致谢。

这是我的功能

public byte newImage(HttpPostedFileBase newFile, string uploadPath)
        {
            if (newFile != null && newFile.ContentLength > 0)
            {
                if (newFile.ContentLength > 3000000) //means file size maximum is 3 MB
                    return 1;   //means the file size is more than 3 MB
                var fileName = Path.GetFileName(newFile.FileName);
                var path = Path.Combine(System.Web.HttpContext.Current.Server.MapPath(uploadPath), fileName);
                newFile.SaveAs(path);
                return 0;   //means file uploaded successfuly
            }
            return 2;   //means no file was chosen
        }//Upload New Image

2 个答案:

答案 0 :(得分:0)

你有没有"映射"上传文件夹正常吗?您可以阅读更多here

DirectoryInfo yourUploadDir = new DirectoryInfo(HostingEnvironment.MapPath("~/YourUploadFolder"));

答案 1 :(得分:0)

我发现了什么是错的。我似乎忘了添加~ -_-

因此,如果有人遇到此错误,请先检查您是否忘记添加~。我认为它在我的本地计算机和其他Web应用程序上运行良好,因为它们位于根目录上,但是一旦它放在子目录中,我们需要使用相对路径使用此代字号~