asp.net上传文件到服务器指定文件夹问题

2024-12-25 08:57:25
推荐回答(2个)
回答1:

#region 文件上传(普通上传不生成文件夹)
///


/// 文件上传(普通上传不生成文件夹)
///

/// 上传控件
/// 绝对路径
/// 文件类型(在WebConfig中配置)
/// 文件大小单位:Mb(在WebConfig中配置)
///
public string SaveFile(HtmlInputFile hifile, string strAbsolutePath, string TYPE, string FileSize)
{
bool filetype = false;
string /*文件的完整路径*/strOldFilePath = "", /*文件类型*/strExtension = "", /*新文件名称*/strNewFileName = "";
//如果上传文件的文件名不为空
if (hifile.PostedFile.FileName != string.Empty)
{
strOldFilePath = hifile.PostedFile.FileName;//文件的完整路径
Path = strAbsolutePath;//服务器路径

//取得上传文件的扩展名
strExtension = strOldFilePath.Substring(strOldFilePath.LastIndexOf(".") + 1);
file_type = strExtension;

//文件大小单位Mb
double sizes = hifile.PostedFile.ContentLength / (double)1024.0 / (double)1024.0;//文件大小
this.file_size = sizes.ToString("f4");//文件大小单位Mb精确到小数点后4位

//文件格式
string[] types = TYPE.Split('|');//文件格式集合
for (int i = 0; i < types.Length; i++)
{
if (types[i].ToString().Trim().ToLower() == strExtension.Trim().ToLower())
{ filetype = true; break; }
else { filetype = false; }
}

if (filetype)//判断文件类型是否错误
{
if (sizes < Convert.ToDouble(FileSize))
{
//文件上传后的命名
strNewFileName = GetUniqueString() + "." + strExtension;
file_name = strNewFileName;
if (!Directory.Exists(strAbsolutePath))//文件的完整路径
{
Directory.CreateDirectory(strAbsolutePath);//按月份创建文件夹
}
hifile.PostedFile.SaveAs(strAbsolutePath + strNewFileName);//保存文件
return "文件上传成功!" + file_name;
}
else
{ return "文件大小不能超过" + FileSize + ".00Mb!"; }
}
else
{ return "文件格式错误!"; }
}
else
{ return "请选择要上传的文件!"; }
}

回答2:

下面已经有人回答了,应该可以的,请你试一下,谢谢