2

我有一个 C# 程序,它根据密钥号查询远程数据库中的图像文件。当它找到匹配项时,它会在本地(在运行程序的服务器上)定位文件并将其复制到临时本地目录,从该目录在用户的浏览器中提供图像。但是,我收到一个指向程序的 file.CopyTo 行的 COM 错误。该程序确实成功找到了文件并将其复制到临时目录,因此它实际上可以工作,但由于某种原因,它显然没有收到成功消息或其他什么,因此它在将文件名返回给模块之前停止这将在浏览器中提供它。如果这太模糊,我很抱歉。下面是错误,然后我把它指向的代码行。真的没有太多要补充的,因为它显然具备成功所需的条件,但似乎并不承认这一点。让我知道是否需要发布更多无论如何...


“/Indus”应用程序中的服务器错误。

DB-0039 复制文件时出错。说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详细信息:System.Runtime.InteropServices.COMException:DB-0039 复制文件时出错。

源错误:

在执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常起源和位置的信息。

堆栈跟踪:

[COMException (0x80004005): DB-0039 复制文件时出错。] XtenderSolutions.interop.AEXDBLib.IObjectFile.CopyTo(Object FileName) +0 ip_axdb.AXNetConnect.GetAXDocuments(String FieldValue) 在 C:\IndusAXProject2013\IP_AXDb\ AXDB\AXNetConnect.cs:67
IP_EDMSforVentyx._Default.Page_Load(Object sender, EventArgs e) in C:\IndusAXProject2013\IP_EDMSforVentyx\EDMSforVentyx_Default.cs:21
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t , EventArgs e) +14
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +35 System.Web.UI.Control.OnLoad(EventArgs e) +91
System.Web.UI.Control.LoadRecursive() +74
System.Web.UI.Page.ProcessRequestMain(布尔includeStagesBeforeAsyncPoint,布尔includeStagesAfterAsyncPoint)+2207


这行代码很简单:

file.CopyTo(filepath + filename);

这是其中的一部分:

for (int j = 1; j <= ((int) pages.Count); j++)
{
    PAGE page = (PAGE) pages[j];
    PageVersions versions = (PageVersions) page.Versions;
    int num4 = 0;
    num4 = (int) versions.Count;
    if (num4 < 1)
    {
        break;
    }

    PAGEVERSION pageversion = (PAGEVERSION) versions[num4];
    ObjectFile file = (ObjectFile) app.FileObject;
    filename = i.ToString() + "_" + j.ToString() + ".tif";
    file.ObjectId = pageversion.ObjectId;
    file.PathId = (pageversion.PathId);
    file.GenerateNewFileName();
    file.CopyTo(filepath + filename);
    if (IsJpegHeader(filepath, filename))
    {
        this.DeleteImgFile(filepath, filename);
        file.CopyTo(filepath + (i.ToString() + "_" + j.ToString() + ".jpg"));
    }
}

无论如何,如果有人有任何想法,谢谢。

4

0 回答 0