首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用SOAP将PDF文件作为附件添加到TestTrack

使用SOAP将PDF文件作为附件添加到TestTrack
EN

Stack Overflow用户
提问于 2013-01-24 05:24:08
回答 1查看 414关注 0票数 0

在过去的一年里,我最近开始使用C#,所以我对此有些陌生,但通常可以花些力气来破解一些东西,但这一次我却躲避不了。在我们公司,我们使用TestTrack来跟踪开发错误/问题。我已经为我们的一个部门创建了一个自定义的windows窗体应用程序,作为TestTrack的前端。它使用SOAP连接。我没有使用WPF/WCF,也不想走那条路。我很难找到任何例子,如何正确编码的附件文件,这是一个PDF。下面的代码确实在TestTrack中为一个已经存在的问题创建了一个附件,但是当您尝试在TestTrack中打开它时,它会弹出一条错误消息,上面写着“图像数据不足”。如果您希望使用SOAP将文本文件添加到TestTrack,则可以使用下面的示例。我想知道我需要在下面做什么更改,这样我就可以将一个TestTrack文件放入TestTrack应用程序中打开,而不会出现上面提到的错误。提前感谢您的任何输入/帮助。

代码语言:javascript
复制
    public void getAttachments(long lSession, CDefect def)
    {
        ttsoapcgi cgiengine = new ttsoapcgi();

        // Lock the defect for edit.
        CDefect lockedDefect = cgiengine.editDefect(lSession, def.recordid, "", false);

        string attachment = "c:\\TEST\\TEST_PDF.PDF";

        CFileAttachment file = new CFileAttachment();
        file.mstrFileName = Path.GetFileName(attachment);

        System.Text.ASCIIEncoding enc = new System.Text.ASCIIEncoding();

        StreamReader reader = new StreamReader(attachment);
        file.mstrFileName = Path.GetFileName(attachment);
        file.mpFileData = enc.GetBytes(reader.ReadToEnd());
        reader.Close();

        CReportedByRecord reprec = lockedDefect.reportedbylist[0];
        CFileAttachment[] afile = reprec.attachmentlist;
            if (afile == null)
            {
                lockedDefect.reportedbylist[0].attachmentlist = new CFileAttachment[1];
                lockedDefect.reportedbylist[0].attachmentlist[0] = file;
            }

            // Save our changes.
            cgiengine.saveDefect(lSession, lockedDefect);
    }
}
EN

回答 1

Stack Overflow用户

发布于 2013-01-24 21:37:46

以下是修改后的方法,允许我将PDF附加到SOAP,并将其作为问题的附件放入TestTrack中:

代码语言:javascript
复制
        public void getAttachments(long lSession, CDefect def)
    {
        ttsoapcgi cgiengine = new ttsoapcgi();

        // Lock the defect for edit.
        CDefect lockedDefect = cgiengine.editDefect(lSession, def.recordid, "", false);

        string attachment = "c:\\TEST\\TEST_PDF.PDF";

        CFileAttachment file = new CFileAttachment();

        file.mpFileData = File.ReadAllBytes(attachment);
        file.mstrFileName = Path.GetFileName(attachment);

        CReportedByRecord reprec = lockedDefect.reportedbylist[0];
        CFileAttachment[] afile = reprec.attachmentlist;
            if (afile == null)
            {
                lockedDefect.reportedbylist[0].attachmentlist = new CFileAttachment[1];
                lockedDefect.reportedbylist[0].attachmentlist[0] = file;
            }

            // Save our changes.
            cgiengine.saveDefect(lSession, lockedDefect);
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14489641

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档