public ActionResult Index()
        {
            //文件路径
            var filePath = Request["filePath"];
            //文件协议
            var contentType = Request["contentType"];

            if (string.IsNullOrWhiteSpace(filePath))
            {
                throw new HttpException("文件路径不能为空!");
            }
            if (string.IsNullOrWhiteSpace(contentType))
            {
                throw new HttpException("contentType:内容类型(MIME 类型)不能为空!");
            }
            //获取协议
            var protocol = ApplicationContext.DocumentsOpenProtocolManager.DocumentOpenProtocols.FirstOrDefault(p => p.ContentType.Equals(contentType, StringComparison.CurrentCultureIgnoreCase));

            if (protocol != null)
            {
                TempData["DocumentProtocolInfo"] = new DocumentProtocolInfo()
                {
                    FilePath = filePath, ContentType = contentType
                };
                //return RedirectToAction("Index", "PDFViewer", new { FilePath = filePath, ContentType = contentType, pluginName = "Magicodes.PDFViewer" });
                return(RedirectToAction(protocol.Action, protocol.Controller, new { pluginName = protocol.PluginName, filePath = filePath, contentType = contentType }));
            }
            //如果不存在,则下载
            return(File(filePath, contentType));
        }
예제 #2
0
 public ActionResult Viewer(DocumentProtocolInfo documentProtocolInfo)
 {
     return(View("Index", documentProtocolInfo));
 }