文件上传代码 为什么在创建文件夹的时候会出错private string getLoaded()
{
string UploadFileName, UploadFileLastName; UploadFileName = this.fileImg.PostedFile.FileName;//文件在本地的原始位置
UploadFileLastName = UploadFileName.Substring(UploadFileName.LastIndexOf(".") + 1);//得到文件的扩展名 Random rd = new Random(); //
int valationNo = 10000000 + rd.Next(99999999); //
string suiji = valationNo.ToString(); //产生随机数 string UpLoadFileTime = DateTime.Now.ToString("yyyyMMdd") + "_" + suiji;//得到系统时间并加上随机数以便生成上传图片名称
string NewUploadFileName = UpLoadFileTime + "." + UploadFileLastName;//产生上传图片的名称 string UserDirectory = DateTime.Now.ToString("yyyyMM");//所要创建文件夹的名字
string UserPath = "/images/" + UserDirectory; if (!System.IO.Directory.Exists(UserPath)) //如果文件夹不存在则创建
{
Directory.CreateDirectory(UserPath);
} this.fileImg.PostedFile.SaveAs(Server.MapPath("images/" + UserDirectory + "/") + NewUploadFileName);//用保存的方法将图片上载
string sUser_ProductsImageUrl = UserPath + NewUploadFileName;//得到服务端图片的虚拟路径 return sUser_ProductsImageUrl;
}
{
string UploadFileName, UploadFileLastName; UploadFileName = this.fileImg.PostedFile.FileName;//文件在本地的原始位置
UploadFileLastName = UploadFileName.Substring(UploadFileName.LastIndexOf(".") + 1);//得到文件的扩展名 Random rd = new Random(); //
int valationNo = 10000000 + rd.Next(99999999); //
string suiji = valationNo.ToString(); //产生随机数 string UpLoadFileTime = DateTime.Now.ToString("yyyyMMdd") + "_" + suiji;//得到系统时间并加上随机数以便生成上传图片名称
string NewUploadFileName = UpLoadFileTime + "." + UploadFileLastName;//产生上传图片的名称 string UserDirectory = DateTime.Now.ToString("yyyyMM");//所要创建文件夹的名字
string UserPath = "/images/" + UserDirectory; if (!System.IO.Directory.Exists(UserPath)) //如果文件夹不存在则创建
{
Directory.CreateDirectory(UserPath);
} this.fileImg.PostedFile.SaveAs(Server.MapPath("images/" + UserDirectory + "/") + NewUploadFileName);//用保存的方法将图片上载
string sUser_ProductsImageUrl = UserPath + NewUploadFileName;//得到服务端图片的虚拟路径 return sUser_ProductsImageUrl;
}
{
Directory.CreateDirectory(UserPath);
}
---------------------》》》UserPath=Server.MapPath(UserPath);
if (!System.IO.Directory.Exists(UserPath)) //如果文件夹不存在则创建
{
Directory.CreateDirectory(UserPath);
}
Windows Server 2003 中对权限有要求
Directory.CreateDirectory(UserPath);
你可以尝试在UserPath前加上Server.Mappath因为Exists和CreateDirectory都是要求物理绝对路径的。