首页 > Linux操作系统 > Linux操作系统 > .net 操作文件上传
///
/// 上传文件 文件类型 大小KB 路径 必须在指定范围以内
///
/// 要上传文件
/// 上传路径
/// 数组:文件后缀名
/// 文件大小KB
///
private static bool SaveFile(FileUpload fileUpload, string Path, string[] FileType, int length,ref string msg)
{
//获取文件要保存的路径 //从配置文件读取
string FilePath = Config.ConfigHelper.GetConfigString("FilePath");
//获取文件后缀名
string strEx = Path.Substring(Path.LastIndexOf("."));
//定义是否包含数组内的文件格式
bool ft = false;
//得到FileType数组长度
int len = FileType.Length;
string strType="";
for (int i = 0; i < len; i++)
{
if (FileType[i].ToLower() == strEx.ToLower())
{
ft = true;
break;
}
strType += FileType[i] + "或";
}
//如果包含文件后缀名
if (ft)
{
if (((int.Parse(fileUpload.FileContent.Length.ToString())) / 1024) < length)
{
if (Path != "")
{
string strPath = FilePath + Path;
SaveFile(fileUpload,strPath);
return true;
}
else
{
//目录为空
return false;
}
}
else
{
//大小超出范围
string s = "对不起,您上传文件的大小超出范围!不能超过" + length + "KB";
msg = s;
return false;
}
}
else
{
//后缀名不合格
strType = strType.Substring(0, strType.Length - 1);
string s = "对不起,您上传文件的格式不正确!标准格式应为:" + strType;
msg = s;
return false;
}
}
///
/// 上传文件
///
/// 上传文件
/// 路径 文件夹+文件名
/// 文件类型
///
public static string SaveFile(FileUpload fileUpload, string path, string[] FileType,ref string msg)
{
//if (fileUpload.HasFile)
//{
//获取物理路径
string FileName = fileUpload.PostedFile.FileName;
//获取后缀名
string strEx = FileName.Substring(FileName.LastIndexOf("."));
//获取文件大小KB //从配置文件读取
int FileSize = Config.ConfigHelper.GetConfigInt("FileSize");
//获取文件要保存路径 //从配置文件读取
string FilePath = Config.ConfigHelper.GetConfigString("FilePath");
//
if (path != "")
{
string str=path.Substring(0,path.LastIndexOf("/"));
string strPath = HttpContext.Current.Server.MapPath(FilePath + str);
//如果源文件夹不存在则创建
if (!Directory.Exists(strPath))
{
Directory.CreateDirectory(strPath);
}
SaveFile(fileUpload, path, FileType, FileSize,ref msg);
return path;
}
//添加新文件 此处用作非图片文件上传执行
else
{
//获取当前年月份
string str = DateTime.Now.ToString("yyyyMM");
string strGui;
string strPath = HttpContext.Current.Server.MapPath(FilePath + str);
//如果源文件夹不存在则创建
if (!Directory.Exists(strPath))
{
//DirectoryInfo d = new DirectoryInfo(str);
Directory.CreateDirectory(strPath);
}
//重新赋文件名
string GuidName = Guid.NewGuid() + strEx;
strGui = str + "/" + GuidName;
SaveFile(fileUpload, strGui, FileType, FileSize,ref msg);
return strGui;
}
//}
//else
//{
// msg = "对不起,请点击浏览选择文件!";
// return "";
//}
}
///
/// 上传图片
///
/// 图片文件
/// 图片路径 路径不为空表示更新 为空表示新添加
///
public static string SaveImage(FileUpload FileUpload, string path,ref string msg)
{
if (FileUpload.HasFile)
{
//获取物理路径
string FileName = FileUpload.PostedFile.FileName;
//获取后缀名
string strEx = FileName.Substring(FileName.LastIndexOf("."));
bool ft= false;
string strType = "";
//文件的格式
string[] FileType = { ".jpg", ".gif" };
//循环验证是否是合法格式
for (int i = 0; i < FileType.Length; i++)
{
if (FileType[i].ToLower() == strEx.ToLower())
{
ft = true;
break;
}
strType += FileType[i] + "或";
}
//格式不正确 返回信息
if (!ft)
{
strType = strType.Substring(0, strType.Length - 1);
msg = "对不起,您上传文件的格式不正确!标准格式应为:" + strType;
}
//获取文件大小KB //从配置文件读取
int FileSize = Config.ConfigHelper.GetConfigInt("ImgSize");
//获取文件要保存路径
string FilePath = Config.ConfigHelper.GetConfigString("FilePath");
//路径不为空表示更新 文件名不变 覆盖原文件
if (path != "")
{
SaveFile(FileUpload, path, FileType, FileSize, ref msg);
return path;
}
//添加新文件
else
{
//获取当前年月份
string str = DateTime.Now.ToString("yyyyMM");
string strGui;
string strPath = HttpContext.Current.Server.MapPath(FilePath + str);
//如果源文件夹不存在则创建
if (!Directory.Exists(strPath))
{
//DirectoryInfo d = new DirectoryInfo(str);
Directory.CreateDirectory(strPath);
}
//重新赋文件名
string GuidName = Guid.NewGuid() + strEx;
strGui = str + "/" + GuidName;
SaveFile(FileUpload, strGui, FileType, FileSize, ref msg);
return strGui;
}
}
else
{
msg = "对不起,请点击浏览选择文件!";
return "";
}
}
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/12639172/viewspace-675758/ ,如需转载,请注明出处,否则将追究法律责任。