Я сделал что-то подобное для изображений, поэтому я изменил мой, чтобы, надеюсь, работать в вашем сценарии. Следует отметить, что AttachmentBinary не возвращается, если вы не вызовете перегрузку и не передадите значение true, чтобы вернуть его.
public ActionResult FilePage(string completeAlias)
{
var kntcoFile = FileProvider.GetFile(completeAlias, "en-US", "MySite").FirstOrDefault();
if (kntcoFile != null)
{
DocumentAttachment attachment = kntcoFile.AllAttachments.FirstOrDefault();
if (attachment != null)
{
var attachmentBinary = AttachmentInfoProvider.GetAttachmentInfo(attachment.AttachmentID, true);
return base.File(attachmentBinary.AttachmentBinary, attachment.AttachmentMimeType);
}
}
EventLogProvider.LogInformation("GetFile", "NOTFOUND", "attachment Not Found" + completeAlias + " /");
return null;
}