gpt4 book ai didi

c# - 使用ASP.NET和C#创建新的目录结构并 move 文件

转载 作者:行者123 更新时间:2023-12-03 08:02:21 25 4
gpt4 key购买 nike

有人能告诉我遇到错误时此代码将要发生什么吗?理想情况下,它应该继续执行foreach语句,直到到达最后一条记录为止,但是我怀疑它在操作中间停止,因为当我检查移动的文件数时,它关闭了225。如果实际上是由于错误而停止了,我该怎么做才能使其继续循环?

我正在为我们的软件创建一个新的上传管理器,需要清理旧文件。使用一年半后,大约有715个孤立文件,相当于750 MB,这是因为原始开发人员在上载新文件时并未编写代码来正确覆盖旧文件。他们还将文件保存在单个目录中。我不能忍受,所以我将所有文件移到一个结构中-容器名称-ServiceRequesetID-为该服务上传的文件。我还为用户提供了gridview来查看和删除他们在使用该服务时不再需要的文件。

protected void Button1_Click(对象发送者,EventArgs e)
{

    GridViewRow[] rowArray = new GridViewRow[gv_Files.Rows.Count];
gv_Files.Rows.CopyTo(rowArray, 0);

int i = -1;

foreach(GridViewRow row in rowArray)
{
i++;
string _serviceRequestID = ((Label)gv_Files.Rows[row.RowIndex].FindControl("lbl_SRID")).Text;
string _vesselName = ((Label)gv_Files.Rows[row.RowIndex].FindControl("lbl_VesselID")).Text;
string _uploadDIR = Server.MapPath("uploadedFiles");
string _vesselDIR = Server.MapPath("uploadedFiles" + "\\" + _vesselName);
string _fileName = ((Label)gv_Files.Rows[row.RowIndex].FindControl("lbl_FileName")).Text;
DirectoryInfo dInfo = new DirectoryInfo(_uploadDIR);
DirectoryInfo dVessel = new DirectoryInfo(_vesselDIR);
DirectoryInfo dSRID = new DirectoryInfo(_serviceRequestID);
dInfo.CreateSubdirectory(_vesselName);
dVessel.CreateSubdirectory(_serviceRequestID);

string _originalFile = _uploadDIR + "\\" + _fileName;
string _fileFullPath = Path.Combine(Server.MapPath("uploadedFiles/" + _vesselName + "/" + _serviceRequestID + "/"), _fileName);
FileInfo NewFile = new FileInfo(_fileFullPath);
string _fileUploadPath = _vesselName + "/" + _serviceRequestID + "/" + _fileName;
string sourceFile = _originalFile;
FileInfo _source = new FileInfo(sourceFile);
string destinationFile = _fileFullPath;

try
{
{
File.Move(sourceFile, destinationFile);
movefiles.InsertNewUploadPath(Convert.ToDecimal(_serviceRequestID), 1, _fileUploadPath);
}
}
catch (Exception ex)
{
CreateLogFiles Err = new CreateLogFiles();
Err.ErrorLog(Server.MapPath("Logs/ErrorLog"), ex.Message);

}
}

_utility.MessageBox("Completed processing files.");
}

最佳答案

只要在try catch子句中发生错误,代码就会在foreach循环中继续执行。但是,如果错误发生在try catch之外,则函数将退出并引发错误。您的错误日志报告多少个文件?

关于c# - 使用ASP.NET和C#创建新的目录结构并 move 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3858475/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com