Browse Source

Support ManifestDirectoryInfo and ManifestFileInfo

pull/6841/head
liangshiwei 6 years ago
parent
commit
83bd2e2b43
  1. 1
      modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Web/AbpVirtualFileExplorerWebModule.cs
  2. 18
      modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Web/Pages/VirtualFileExplorer/Index.cshtml.cs
  3. 2
      modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Web/VirtualFileExplorerConsts.cs
  4. 7
      modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Web/Volo.Abp.VirtualFileExplorer.Web.csproj

1
modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Web/AbpVirtualFileExplorerWebModule.cs

@ -1,4 +1,5 @@
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.FileProviders.Physical;
using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap; using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap;
using Volo.Abp.AspNetCore.Mvc.UI.Bundling; using Volo.Abp.AspNetCore.Mvc.UI.Bundling;
using Volo.Abp.AspNetCore.Mvc.UI.Packages.Prismjs; using Volo.Abp.AspNetCore.Mvc.UI.Packages.Prismjs;

18
modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Web/Pages/VirtualFileExplorer/Index.cshtml.cs

@ -1,10 +1,9 @@
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.FileProviders; using Microsoft.Extensions.FileProviders;
using NUglify.Helpers;
using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Pagination; using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Pagination;
using Volo.Abp.VirtualFileExplorer.Web.Models; using Volo.Abp.VirtualFileExplorer.Web.Models;
using Volo.Abp.VirtualFileSystem; using Volo.Abp.VirtualFileSystem;
@ -31,7 +30,6 @@ namespace Volo.Abp.VirtualFileExplorer.Web.Pages.VirtualFileExplorer
protected IVirtualFileProvider VirtualFileProvider { get; } protected IVirtualFileProvider VirtualFileProvider { get; }
public IndexModel(IVirtualFileProvider virtualFileProvider) public IndexModel(IVirtualFileProvider virtualFileProvider)
{ {
VirtualFileProvider = virtualFileProvider; VirtualFileProvider = virtualFileProvider;
@ -67,16 +65,26 @@ namespace Volo.Abp.VirtualFileExplorer.Web.Pages.VirtualFileExplorer
LastUpdateTime = fileInfo.LastModified.LocalDateTime LastUpdateTime = fileInfo.LastModified.LocalDateTime
}; };
var filePath = fileInfo.PhysicalPath ?? $"{Path.EnsureEndsWith('/')}{fileInfo.Name}";;
if (fileInfo.IsDirectory) if (fileInfo.IsDirectory)
{ {
fileInfoViewModel.Icon = "fas fa-folder"; fileInfoViewModel.Icon = "fas fa-folder";
fileInfoViewModel.FileType = "folder"; fileInfoViewModel.FileType = "folder";
fileInfoViewModel.Length = "/"; fileInfoViewModel.Length = "/";
fileInfoViewModel.FileName =$"<a href='{Url.Content("~/")}VirtualFileExplorer?path={fileInfo.PhysicalPath}'>{fileInfo.Name}</a>"; fileInfoViewModel.FileName =$"<a href='{Url.Content("~/")}VirtualFileExplorer?path={filePath}'>{fileInfo.Name}</a>";
} }
else else
{ {
fileInfoViewModel.FilePath = ((EmbeddedResourceFileInfo) fileInfo).VirtualPath; if (fileInfo is EmbeddedResourceFileInfo embeddedResourceFileInfo)
{
fileInfoViewModel.FilePath = embeddedResourceFileInfo.VirtualPath;
}
else
{
fileInfoViewModel.FilePath = filePath;
}
} }
FileInfoList.Add(fileInfoViewModel); FileInfoList.Add(fileInfoViewModel);

2
modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Web/VirtualFileExplorerConsts.cs

@ -2,6 +2,6 @@
{ {
public static class VirtualFileExplorerConsts public static class VirtualFileExplorerConsts
{ {
public static string[] AllowFileInfoTypes = new[] {"VirtualDirectoryFileInfo", "EmbeddedResourceFileInfo"}; public static readonly string[] AllowFileInfoTypes = {"VirtualDirectoryFileInfo", "EmbeddedResourceFileInfo", "ManifestDirectoryInfo" , "ManifestFileInfo"};
} }
} }

7
modules/virtual-file-explorer/src/Volo.Abp.VirtualFileExplorer.Web/Volo.Abp.VirtualFileExplorer.Web.csproj

@ -9,6 +9,7 @@
<GenerateAssemblyConfigurationAttribute>false</GenerateAssemblyConfigurationAttribute> <GenerateAssemblyConfigurationAttribute>false</GenerateAssemblyConfigurationAttribute>
<GenerateAssemblyCompanyAttribute>false</GenerateAssemblyCompanyAttribute> <GenerateAssemblyCompanyAttribute>false</GenerateAssemblyCompanyAttribute>
<GenerateAssemblyProductAttribute>false</GenerateAssemblyProductAttribute> <GenerateAssemblyProductAttribute>false</GenerateAssemblyProductAttribute>
<GenerateEmbeddedFilesManifest>true</GenerateEmbeddedFilesManifest>
<IsPackable>true</IsPackable> <IsPackable>true</IsPackable>
<OutputType>Library</OutputType> <OutputType>Library</OutputType>
</PropertyGroup> </PropertyGroup>
@ -18,14 +19,12 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<EmbeddedResource Include="Pages\**\*.cshtml" />
<EmbeddedResource Include="Pages\**\*.css" /> <EmbeddedResource Include="Pages\**\*.css" />
<EmbeddedResource Include="Pages\**\*.js" /> <EmbeddedResource Include="Pages\**\*.js" />
<EmbeddedResource Include="Components\**\*.js" /> <EmbeddedResource Include="Components\**\*.js" />
<EmbeddedResource Include="Components\**\*.css" /> <EmbeddedResource Include="Components\**\*.css" />
<EmbeddedResource Include="wwwroot\**\*.*" /> <EmbeddedResource Include="wwwroot\**\*.*" />
<EmbeddedResource Include="Localization\**\*.json" /> <EmbeddedResource Include="Localization\**\*.json" />
<Content Remove="Pages\**\*.cshtml" />
<Content Remove="Pages\**\*.css" /> <Content Remove="Pages\**\*.css" />
<Content Remove="Pages\**\*.js" /> <Content Remove="Pages\**\*.js" />
<Content Remove="wwwroot\**\*.*" /> <Content Remove="wwwroot\**\*.*" />
@ -34,4 +33,8 @@
<Content Remove="Localization\**\*.json" /> <Content Remove="Localization\**\*.json" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Extensions.FileProviders.Embedded" Version="$(MicrosoftPackageVersion)" />
</ItemGroup>
</Project> </Project>

Loading…
Cancel
Save