Kentico 中的 AddAttachment 方法

AddAttachment Method in Kentico

我们正在使用 Kentico v9 并将博客 post 从 Wordpress 导入 Kentico。我们在将附件导入博客 post 时遇到问题。这是当前使用的代码:

var attachmentNode = TreeNode.New(FILE_PAGE_TYPE);
attachmentNode.DocumentName = filename;
attachmentNode.DocumentCulture = postNode.DocumentCulture;
attachmentNode.Insert(postNode);
DocumentHelper.AddAttachment(attachmentNode, "ce4c5d10-c143-4ada-9d8a-7e7481b167ef", localFileLocation, postNode.TreeProvider);
attachmentNode.Update();

这不会产生任何错误,并且数据库中有该文件的记录。但是,文件本身不在 Kentico 中。有谁知道我在这里做错了什么?

请参阅 Kentico DevNet 中的 answer I provided

        TreeNode newNode = TreeNode.New(PageType, tree);
        newNode.DocumentName = mediaFile.FileName;
        newNode.DocumentName = fileName.Trim();
        newNode.SetValue("FileDate", fileDate);
        DocumentHelper.InsertDocument(newNode, parentNode.NodeID);

        AttachmentInfo newAttachment = null;

        // Path to the file to be inserted. This example uses an explicitly defined file path. However, you can use an object of the HttpPostedFile type (uploaded via an upload control).
        string filePath = MediaLibraryPath + @"\" + mediaFile.FileName + mediaFile.FileExtension;

        // Insert the attachment and update the document with its GUID
        newAttachment = DocumentHelper.AddUnsortedAttachment(newNode, Guid.NewGuid(), filePath, tree, ImageHelper.AUTOSIZE, ImageHelper.AUTOSIZE, ImageHelper.AUTOSIZE);

        // attach the new attachment to the page/document
        newNode.SetValue("FileAttachment", newAttachment.AttachmentGUID);
        DocumentHelper.UpdateDocument(newNode);
        newNode.Publish();

我不认为此代码会对实际文件执行任何 operation/processing - 它只是将对该文件的引用保存到数据库中。如果您想将它保存在文件系统中的特定位置,您必须实现适当的功能。 查看 API 中的一些 examples 处理附件。