在MVC.NET中,我们经常需要上载文件,放到服务器的指定文件夹下,可以设计 UploadHelper静态类如下
public static class UpLoadHelper
{
public static void CreateDirIfNotExist(string dir)
{
var path = HostingEnvironment.MapPath(dir);
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
}
public static string CreateDir(params string[] dirs)
{
var path = "~/Upload/";
CreateDirIfNotExist(path);
foreach (var d in dirs)
{
path += d + "/";
CreateDirIfNotExist(path);
}
return HostingEnvironment.MapPath(path);
}
public static string GetFilePath(string fname, params string[] dirs)
{
var path = dirs.Aggregate("Upload/", (current, d) => current + (d + "/"));
return Path.Combine(path, fname);
}
public static void UpLoad(string path, string fname, HttpPostedFileBase fileBase)
{
fileBase.SaveAs(Path.Combine(path, fname));
}
}