示例#1
0
        public ActionResult Index(HttpPostedFileBase file, IndexViewModel model)
        {
            if (file != null)
            {
                var storageAgent  = GetStorageAgent(model.Storage);
                var metaDataAgent = GetMetaDataAgent(model.Storage);

                var importer = new H5PImporter(storageAgent, metaDataAgent);

                importer.Import(file.InputStream, file.FileName.Replace('.', '-').Replace(' ', '-'));
            }

            return(Redirect(Url.Action(null, new { model.Storage })));
        }
示例#2
0
        public void ImportTest()
        {
            var fileName   = "test-mc-1291177782275013467.h5p";
            var filePath   = Path.Combine(AppDomain.CurrentDomain.SetupInformation.ApplicationBase, "TestFiles\\" + fileName);
            var targetPath = Path.Combine(AppDomain.CurrentDomain.SetupInformation.ApplicationBase, "ImportFiles");

            //var metaDataPath = Path.Combine(targetPath, "MetaData");
            if (Directory.Exists(targetPath))
            {
                Directory.Delete(targetPath, true);
                while (Directory.Exists(targetPath))
                {
                    System.Threading.Thread.Sleep(10);
                }
            }
            Directory.CreateDirectory(targetPath);

            var storageAgent  = new H5PFileStorageAgent(targetPath);
            var metaDataAgent = new H5PPhysicalFileMetaDataAgent("ImportFiles", targetPath);
            var importer      = new H5PImporter(storageAgent, metaDataAgent);

            importer.Import(filePath);

            Assert.IsTrue(File.Exists(Path.Combine(targetPath, "EmbeddedJS-1.0", "js", "ejs_production.js")));
            Assert.IsTrue(File.Exists(Path.Combine(targetPath, "EmbeddedJS-1.0", "js", "ejs_viewhelpers.js")));
            Assert.IsTrue(File.Exists(Path.Combine(targetPath, "FontAwesome-4.5", "h5p-font-awesome.min.css")));
            Assert.IsTrue(File.Exists(Path.Combine(targetPath, "Tether-1.0", "styles", "tether.min.css")));

            Assert.IsTrue(File.Exists(Path.Combine(targetPath, "FontAwesome-4.5", "fontawesome-webfont.eot")));

            var jsIncludeFiles = metaDataAgent.GetIncludeFiles(fileName, FileTypes.Js);

            Assert.AreEqual(20, jsIncludeFiles.Count());
            Assert.AreEqual("ImportFiles/EmbeddedJS-1.0/js/ejs_production.js", jsIncludeFiles.First());
            Assert.AreEqual("ImportFiles/EmbeddedJS-1.0/js/ejs_viewhelpers.js", jsIncludeFiles.Skip(1).First());

            var cssIncludeFiles = metaDataAgent.GetIncludeFiles(fileName, FileTypes.Css);

            Assert.AreEqual(18, cssIncludeFiles.Count());
            Assert.AreEqual("ImportFiles/FontAwesome-4.5/h5p-font-awesome.min.css", cssIncludeFiles.First());
            Assert.AreEqual("ImportFiles/Tether-1.0/styles/tether.min.css", cssIncludeFiles.Skip(1).First());
        }