// GET: AssetBundle/Create
        public IActionResult Create()
        {
            AssetBundleUploadModel assetBundleUploadModel = new AssetBundleUploadModel();

            assetBundleUploadModel.UpdateTime    = DateTime.Now;
            assetBundleUploadModel.BundleVersion = "latest";

            return(View(assetBundleUploadModel));
        }
Exemplo n.º 2
0
        public async Task <IActionResult> PostAssetBundleModel([FromForm] AssetBundleUploadModel assetBundleUploadModel)
        {
            AssetBundleModel assetBundleModel = assetBundleUploadModel;

            if (ModelState.IsValid)
            {
                var saveDir = Path.Combine(_env.WebRootPath, assetBundleModel.Project, assetBundleModel.BundleVersion);
                if (!Directory.Exists(saveDir))
                {
                    Directory.CreateDirectory(saveDir);
                }

                var filePaths = new List <string>();
                foreach (var formFile in assetBundleUploadModel.Files)
                {
                    if (formFile.Length > 0)
                    {
                        var filePath = Path.Combine(saveDir, formFile.FileName);

                        filePaths.Add(filePath);
                        using var stream = new FileStream(filePath, FileMode.Create);
                        await formFile.CopyToAsync(stream);
                    }
                }

                var find = _context.AssetBundleModel.SingleOrDefault(
                    m => m.Project == assetBundleModel.Project && m.Branch == assetBundleModel.Branch);

                if (null == find)
                {
                    _context.Add(assetBundleModel);
                }
                else
                {
                    find.Name              = assetBundleModel.Name;
                    find.Project           = assetBundleModel.Project;
                    find.UpdateTime        = DateTime.Now;
                    find.BundleVersionCode = assetBundleModel.BundleVersionCode;
                    find.BundleVersion     = assetBundleModel.BundleVersion;

                    _context.Update(find);
                }

                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }

            return(RedirectToAction(nameof(Index)));
        }