DirectoryInfo imagesfile = new DirectoryInfo(Server.MapPath("/images/FtpImg"));
DirectoryInfo[] info = imagesfile.GetDirectories();
FileInfo[] fileinfo;
DirectoryInfo[] Carinfo;
DirectoryInfo[] picinfo;
string oldpath="";
Che51.Model.Gallery objGallery = new Gallery();
for (int i = 0; i < info.Length; i++)
{
if (info[i].Name == "0")
{
Carinfo = info[i].GetDirectories();
picinfo = Carinfo[0].GetDirectories();
oldpath = Carinfo[0].FullName;
for (int j = 0; j < picinfo.Length; j++)
{
if (picinfo[j].Name == "1")
{
fileinfo = picinfo[j].GetFiles();
for (int k = 0; k < fileinfo.Length; k++)
{
objGallery.CarId = Che51.BLL.CarsBLL.GetCarsByModel(Carinfo[0].Name).Car_Id;
objGallery.CarBrandId = Che51.BLL.CarsBLL.GetCarsByModel(Carinfo[0].Name).BrandId;
objGallery.CarSerialId = Che51.BLL.CarsBLL.GetCarsByModel(Carinfo[0].Name).SerialID;
objGallery.BrandId = 0;
objGallery.AddTime = DateTime.Now;
objGallery.PicPath = "/images/FtpImg/" + Carinfo[0].Name + "/" + "1/" + fileinfo[k].Name;
objGallery.PicType = 1;
System.Drawing.Image imgPic = null;
if (fileinfo[k].Extension == ".bmp" || fileinfo[k].Extension == ".gif" || fileinfo[k].Extension == ".jpg" || fileinfo[k].Extension == ".png")
{
using (imgPic = System.Drawing.Image.FromFile(fileinfo[k].FullName))
{
imgPic = Che51.Utility.ImageHelper.DrawTextWater(imgPic, "无优车网www.51che.com", "黑体", float.Parse("9"), false, Che51.Utility.WaterPosition.RigthBottom, float.Parse("0.8"));
imgPic.Dispose();
} Che51.Utility.ImageHelper.SaveImage(imgPic, "/images/FtpImg/0/" + Carinfo[0].Name + "/" + "1/" + fileinfo[k].Name, ".jpg");
}
}
}
}
Directory.Move(Carinfo[0].FullName, Carinfo[0].FullName + "1");
}
请教 我 Directory.Move(Carinfo[0].FullName, Carinfo[0].FullName + "1"); 这里报错:对路径访问被拒绝
权限我已经设置好了 如果把 Directory.Move(Carinfo[0].FullName, Carinfo[0].FullName + "1");
放在第一句是可以运行的.
DirectoryInfo[] info = imagesfile.GetDirectories();
FileInfo[] fileinfo;
DirectoryInfo[] Carinfo;
DirectoryInfo[] picinfo;
string oldpath="";
Che51.Model.Gallery objGallery = new Gallery();
for (int i = 0; i < info.Length; i++)
{
if (info[i].Name == "0")
{
Carinfo = info[i].GetDirectories();
picinfo = Carinfo[0].GetDirectories();
oldpath = Carinfo[0].FullName;
for (int j = 0; j < picinfo.Length; j++)
{
if (picinfo[j].Name == "1")
{
fileinfo = picinfo[j].GetFiles();
for (int k = 0; k < fileinfo.Length; k++)
{
objGallery.CarId = Che51.BLL.CarsBLL.GetCarsByModel(Carinfo[0].Name).Car_Id;
objGallery.CarBrandId = Che51.BLL.CarsBLL.GetCarsByModel(Carinfo[0].Name).BrandId;
objGallery.CarSerialId = Che51.BLL.CarsBLL.GetCarsByModel(Carinfo[0].Name).SerialID;
objGallery.BrandId = 0;
objGallery.AddTime = DateTime.Now;
objGallery.PicPath = "/images/FtpImg/" + Carinfo[0].Name + "/" + "1/" + fileinfo[k].Name;
objGallery.PicType = 1;
System.Drawing.Image imgPic = null;
if (fileinfo[k].Extension == ".bmp" || fileinfo[k].Extension == ".gif" || fileinfo[k].Extension == ".jpg" || fileinfo[k].Extension == ".png")
{
using (imgPic = System.Drawing.Image.FromFile(fileinfo[k].FullName))
{
imgPic = Che51.Utility.ImageHelper.DrawTextWater(imgPic, "无优车网www.51che.com", "黑体", float.Parse("9"), false, Che51.Utility.WaterPosition.RigthBottom, float.Parse("0.8"));
imgPic.Dispose();
} Che51.Utility.ImageHelper.SaveImage(imgPic, "/images/FtpImg/0/" + Carinfo[0].Name + "/" + "1/" + fileinfo[k].Name, ".jpg");
}
}
}
}
Directory.Move(Carinfo[0].FullName, Carinfo[0].FullName + "1");
}
请教 我 Directory.Move(Carinfo[0].FullName, Carinfo[0].FullName + "1"); 这里报错:对路径访问被拒绝
权限我已经设置好了 如果把 Directory.Move(Carinfo[0].FullName, Carinfo[0].FullName + "1");
放在第一句是可以运行的.
但是放在DirectoryInfo[] info = imagesfile.GetDirectories(); 后就会说访问被拒绝,应该是打开了该文件夹却没有关闭的愿意.但是找不到一个方法能关闭.请大家帮帮忙
objGallery.CarId = Che51.BLL.CarsBLL.GetCarsByModel(Carinfo[0].Name).Car_Id;
objGallery.CarBrandId = Che51.BLL.CarsBLL.GetCarsByModel(Carinfo[0].Name).BrandId;
objGallery.CarSerialId = Che51.BLL.CarsBLL.GetCarsByModel(Carinfo[0].Name).SerialID;
应该是objGallery也涉及到了对目录Carinfo[0]的一些操作,但是没有及时释放相关的资源,
你把GetCarsByModel的代码贴上来看一下。对objGallery和Che51.BLL.CarsBLL.GetCarsByModel这些你仔细检查一下。
另外,应该没有什么用,但是在检查我上面说的那个对象和相关方法之前,你还还是试一下在Directory.Move(Carinfo[0].FullName, Carinfo[0].FullName + "1"); 代码的前面加上一句Thread.Sleep(1000)先试一下,碰下运气。
Che51.BLL.CarsBLL.GetCarsByModel方法只是需要一个参数提交到数据库而已 并没有对文件夹进行操作