基本信息
源码名称:阿里云OSS操作c#适用SDK
源码大小:2.18M
文件格式:.zip
开发语言:C#
更新时间:2023-06-08
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍
阿里云OSS操作c#适用SDK
用于通过accessKeyId和accessKeySecret操作阿里云OSS进行文件上传下载等,包含示例代码


文件清单
└── aliyun-oss-csharp-sdk
    ├── aliyun-oss-sdk-dotnetcore.sln
    ├── aliyun-oss-sdk-dotnetcore-vs2017-win.sln
    ├── aliyun-oss-sdk.sln
    ├── CHANGELOG.md
    ├── doc
    │   └── help.shfbproj
    ├── lib
    │   └── nunit.framework.dll
    ├── LICENSE
    ├── README-CN.md
    ├── README.md
    ├── samples
    │   ├── aliyun-oss-sdk-samples.csproj
    │   ├── aliyun-oss-sdk-samples-dotnetcore.csproj
    │   ├── bin
    │   │   └── Debug
    │   │       └── netcoreapp2.0
    │   │           ├── Aliyun.OSS.Core.dll
    │   │           ├── Aliyun.OSS.Core.pdb
    │   │           ├── Aliyun.OSS.Samples.deps.json
    │   │           ├── Aliyun.OSS.Samples.dll
    │   │           ├── Aliyun.OSS.Samples.pdb
    │   │           ├── Aliyun.OSS.Samples.runtimeconfig.dev.json
    │   │           └── Aliyun.OSS.Samples.runtimeconfig.json
    │   ├── Config.cs
    │   ├── obj
    │   │   ├── aliyun-oss-sdk-samples-dotnetcore.csproj.nuget.cache
    │   │   ├── aliyun-oss-sdk-samples-dotnetcore.csproj.nuget.g.props
    │   │   ├── aliyun-oss-sdk-samples-dotnetcore.csproj.nuget.g.targets
    │   │   ├── Debug
    │   │   │   └── netcoreapp2.0
    │   │   │       ├── Aliyun.OSS.Samples.dll
    │   │   │       ├── Aliyun.OSS.Samples.pdb
    │   │   │       ├── aliyun-oss-sdk-samples-dotnetcore.AssemblyInfo.cs
    │   │   │       ├── aliyun-oss-sdk-samples-dotnetcore.AssemblyInfoInputs.cache
    │   │   │       ├── aliyun-oss-sdk-samples-dotnetcore.csprojAssemblyReference.cache
    │   │   │       ├── aliyun-oss-sdk-samples-dotnetcore.csproj.CopyComplete
    │   │   │       ├── aliyun-oss-sdk-samples-dotnetcore.csproj.CoreCompileInputs.cache
    │   │   │       └── aliyun-oss-sdk-samples-dotnetcore.csproj.FileListAbsolute.txt
    │   │   └── project.assets.json
    │   ├── Program.cs
    │   ├── Properties
    │   │   └── AssemblyInfo.cs
    │   └── Samples
    │       ├── AppendObjectSample.cs
    │       ├── CNameSample.cs
    │       ├── CopyObjectSample.cs
    │       ├── CreateBucketSample.cs
    │       ├── CreateEmptyFolderSample.cs
    │       ├── DeleteBucketCorsSample.cs
    │       ├── DeleteBucketLoggingSample.cs
    │       ├── DeleteBucketSample.cs
    │       ├── DeleteBucketWetbsiteSample.cs
    │       ├── DeleteObjectsSample.cs
    │       ├── DoesBucketExistSample.cs
    │       ├── DoesObjectExistSample.cs
    │       ├── GetBucketAclSample.cs
    │       ├── GetBucketCorsSample.cs
    │       ├── GetBucketLifecycleSample.cs
    │       ├── GetBucketLoggingSample.cs
    │       ├── GetBucketRefererSample.cs
    │       ├── GetBucketWetbsiteSample.cs
    │       ├── GetObjectAclSample.cs
    │       ├── GetObjectByRangeSample.cs
    │       ├── GetObjectSample.cs
    │       ├── ImageProcessSample.cs
    │       ├── ListBucketsSample.cs
    │       ├── ListObjectsSample.cs
    │       ├── ModifyObjectMetaSample.cs
    │       ├── MultipartUploadSample.cs
    │       ├── PostPolicySample.cs
    │       ├── ProgressSample.cs
    │       ├── PutObjectSample.cs
    │       ├── RestoreArchiveObjectSample.cs
    │       ├── ResumableSample.cs
    │       ├── SetBucketAclSample.cs
    │       ├── SetBucketCorsSample.cs
    │       ├── SetBucketLifecycleSample.cs
    │       ├── SetBucketLoggingSample.cs
    │       ├── SetBucketRefererSample.cs
    │       ├── SetBucketWetbsiteSample.cs
    │       ├── SetObjectAclSample.cs
    │       ├── UploadCallbackSample.cs
    │       └── UrlSignatureSample.cs
    ├── sdk
    │   ├── aliyun-oss-sdk.csproj
    │   ├── aliyun-oss-sdk-dotnetcore.csproj
    │   ├── aliyun_sdk_net.snk
    │   ├── bin
    │   │   └── Debug
    │   │       └── netstandard2.0
    │   │           ├── Aliyun.OSS.Core.deps.json
    │   │           ├── Aliyun.OSS.Core.dll
    │   │           └── Aliyun.OSS.Core.pdb
    │   ├── Commands
    │   │   ├── AbortMultipartUploadCommand.cs
    │   │   ├── AppendObjectCommand.cs
    │   │   ├── CompleteMultipartUploadCommand.cs
    │   │   ├── CopyObjectCommand.cs
    │   │   ├── CreateBucketCommand.cs
    │   │   ├── CreateSymlinkCommand.cs
    │   │   ├── DeleteBucketCommand.cs
    │   │   ├── DeleteBucketCorsCommand.cs
    │   │   ├── DeleteBucketLifecycleCommand.cs
    │   │   ├── DeleteBucketLoggingCommand.cs
    │   │   ├── DeleteBucketWebsiteCommand.cs
    │   │   ├── DeleteObjectCommand.cs
    │   │   ├── DeleteObjectsCommand.cs
    │   │   ├── GetBucketAclCommand.cs
    │   │   ├── GetBucketCorsCommand.cs
    │   │   ├── GetBucketInfoCommand.cs
    │   │   ├── GetBucketLifecycleCommand.cs
    │   │   ├── GetBucketLocationCommand.cs
    │   │   ├── GetBucketLoggingCommand.cs
    │   │   ├── GetBucketMetadataCommand.cs
    │   │   ├── GetBucketRefererCommand.cs
    │   │   ├── GetBucketStatCommand.cs
    │   │   ├── GetBucketStorageCapacityCommand.cs
    │   │   ├── GetBucketWebsiteCommand.cs
    │   │   ├── GetObjectAclCommand.cs
    │   │   ├── GetObjectCommand.cs
    │   │   ├── GetObjectMetadataCommand.cs
    │   │   ├── GetSymlinkCommand.cs
    │   │   ├── HeadObjectCommand.cs
    │   │   ├── InitiateMultipartUploadCommand.cs
    │   │   ├── ListBucketsCommand.cs
    │   │   ├── ListMultipartUploadsCommand.cs
    │   │   ├── ListObjectsCommand.cs
    │   │   ├── ListPartsCommand.cs
    │   │   ├── OssCommand.cs
    │   │   ├── PutObjectCommand.cs
    │   │   ├── RestoreObjectCommand.cs
    │   │   ├── SetBucketAclCommand.cs
    │   │   ├── SetBucketCorsCommand.cs
    │   │   ├── SetBucketLifecycleCommand.cs
    │   │   ├── SetBucketLoggingCommand.cs
    │   │   ├── SetBucketRefererCommand.cs
    │   │   ├── SetBucketStorageCapacityCommand.cs
    │   │   ├── SetBucketWebsiteCommand.cs
    │   │   ├── SetObjectAclCommand.cs
    │   │   ├── UploadPartCommand.cs
    │   │   └── UploadPartCopyCommand.cs
    │   ├── Common
    │   │   ├── Authentication
    │   │   │   ├── DefaultCredentials.cs
    │   │   │   ├── DefaultCredentialsProvider.cs
    │   │   │   ├── HmacSHA1Signature.cs
    │   │   │   ├── ICredentials.cs
    │   │   │   ├── ICredentialsProvider.cs
    │   │   │   ├── IRequestSigner.cs
    │   │   │   └── ServiceSignature.cs
    │   │   ├── ClientConfiguration.cs
    │   │   ├── ClientException.cs
    │   │   ├── Communication
    │   │   │   ├── ExecutionContext.cs
    │   │   │   ├── HttpMethod.cs
    │   │   │   ├── IServiceClient.cs
    │   │   │   ├── netcore
    │   │   │   │   ├── ServiceClientNewImpl.cs
    │   │   │   │   └── StreamWeakReferece.cs
    │   │   │   ├── RetryableServiceClient.cs
    │   │   │   ├── ServiceClient.cs
    │   │   │   ├── ServiceClientImpl.cs
    │   │   │   ├── ServiceMessage.cs
    │   │   │   ├── ServiceRequest.cs
    │   │   │   └── ServiceResponse.cs
    │   │   ├── Handlers
    │   │   │   ├── CallbackResponseHandler.cs
    │   │   │   ├── CompleteMultipartUploadCrc64Handler.cs
    │   │   │   ├── Crc64CheckHandler.cs
    │   │   │   ├── ErrorResponseHandler.cs
    │   │   │   ├── IResponseHandler.cs
    │   │   │   ├── MD5DigestCheckHandler.cs
    │   │   │   └── ResponseHandler.cs
    │   │   ├── Internal
    │   │   │   ├── Crc64HashAlgorithm.cs
    │   │   │   ├── EventStream.cs
    │   │   │   ├── HashingWrapper.cs
    │   │   │   ├── HashStream.cs
    │   │   │   ├── IHashingWrapper.cs
    │   │   │   ├── PartialWrapperStream.cs
    │   │   │   ├── StreamReadTracker.cs
    │   │   │   ├── StreamTransferTracker.cs
    │   │   │   └── WrapperStream.cs
    │   │   ├── OssErrorCode.cs
    │   │   ├── OssException.cs
    │   │   ├── ResumableDownloadManager.cs
    │   │   ├── ResumableUploadManager.cs
    │   │   ├── ServiceException.cs
    │   │   └── ThirdParty
    │   │       ├── MD5Core.cs
    │   │       └── MD5Managed.cs
    │   ├── Domain
    │   │   ├── AbortMultipartUploadRequest.cs
    │   │   ├── AccessControlList.cs
    │   │   ├── AppendObjectRequest.cs
    │   │   ├── AppendObjectResult.cs
    │   │   ├── Bucket.cs
    │   │   ├── BucketInfo.cs
    │   │   ├── BucketLocationResult.cs
    │   │   ├── BucketLoggingResult.cs
    │   │   ├── BucketMetadata.cs
    │   │   ├── BucketStat.cs
    │   │   ├── BucketWebsiteResult.cs
    │   │   ├── CompleteMultipartUploadRequest.cs
    │   │   ├── CompleteMultipartUploadResult.cs
    │   │   ├── CopyObjectRequest.cs
    │   │   ├── CopyObjectResult.cs
    │   │   ├── CORSRule.cs
    │   │   ├── CreateSymlinkRequest.cs
    │   │   ├── DeleteObjectsRequest.cs
    │   │   ├── DeleteObjectsResult.cs
    │   │   ├── DownloadObjectRequest.cs
    │   │   ├── GeneratePresignedUriRequest.cs
    │   │   ├── GetBucketStorageCapacityResult.cs
    │   │   ├── GetObjectRequest.cs
    │   │   ├── Grant.cs
    │   │   ├── GroupGrantee.cs
    │   │   ├── IGrantee.cs
    │   │   ├── InitiateMultipartUploadRequest.cs
    │   │   ├── InitiateMultipartUploadResult.cs
    │   │   ├── LifecycleRule.cs
    │   │   ├── ListBucketsRequest.cs
    │   │   ├── ListBucketsResult.cs
    │   │   ├── ListMultipartUploadsRequest.cs
    │   │   ├── ListObjectsRequest.cs
    │   │   ├── ListPartsRequest.cs
    │   │   ├── MultipartUpload.cs
    │   │   ├── MultipartUploadListing.cs
    │   │   ├── ObjectListing.cs
    │   │   ├── ObjectMetadata.cs
    │   │   ├── OssObject.cs
    │   │   ├── OssObjectSummary.cs
    │   │   ├── OssResources.Designer.cs
    │   │   ├── OssResources.resx
    │   │   ├── OssSymlink.cs
    │   │   ├── Owner.cs
    │   │   ├── Part.cs
    │   │   ├── PartEtag.cs
    │   │   ├── PartListing.cs
    │   │   ├── PolicyConditions.cs
    │   │   ├── PutObjectRequest.cs
    │   │   ├── PutObjectResult.cs
    │   │   ├── RefererConfiguration.cs
    │   │   ├── ResponseHeaderOverrides.cs
    │   │   ├── ResumableContext.cs
    │   │   ├── SetBucketAclRequest.cs
    │   │   ├── SetBucketCorsRequest.cs
    │   │   ├── SetBucketLifecycleRequest.cs
    │   │   ├── SetBucketLoggingRequest.cs
    │   │   ├── SetBucketRefererRequest.cs
    │   │   ├── SetBucketStorageCapacityRequest.cs
    │   │   ├── SetBucketWebsiteRequest.cs
    │   │   ├── SetObjectAclRequest.cs
    │   │   ├── UploadObjectRequest.cs
    │   │   ├── UploadPartCopyRequest.cs
    │   │   ├── UploadPartCopyResult.cs
    │   │   ├── UploadPartRequest.cs
    │   │   └── UploadPartResult.cs
    │   ├── Enums
    │   │   ├── CannedAccessControlList.cs
    │   │   ├── Permission.cs
    │   │   ├── Protocol.cs
    │   │   ├── SignHttpMethod.cs
    │   │   └── StorageClass.cs
    │   ├── IOss.cs
    │   ├── Model
    │   │   ├── AccessControlPolicy.cs
    │   │   ├── BucketStorageCapacityModel.cs
    │   │   ├── CompleteMultipartUploadRequestModel.cs
    │   │   ├── CompleteMultipartUploadResultModel.cs
    │   │   ├── CopyObjectResultModel.cs
    │   │   ├── CreateBucketRequestModel.cs
    │   │   ├── DeleteObjectsRequestModel.cs
    │   │   ├── ErrorResult.cs
    │   │   ├── GenericResult.cs
    │   │   ├── InitiateMultipartResult.cs
    │   │   ├── LifecycleConfiguration.cs
    │   │   ├── ListAllMyBucketsResult.cs
    │   │   ├── ListBucketResult.cs
    │   │   ├── ListMultipartUploadsResult.cs
    │   │   ├── ListPartsResult.cs
    │   │   ├── RestoreObjectResult.cs
    │   │   ├── SetBucketCorsRequestModel.cs
    │   │   ├── SetBucketLoggingRequestModel.cs
    │   │   ├── SetBucketWebsiteRequestModel.cs
    │   │   ├── StreamResult.cs
    │   │   ├── StreamUploadProgressArgs.cs
    │   │   └── UploadPartCopyRequestModel.cs
    │   ├── obj
    │   │   ├── aliyun-oss-sdk-dotnetcore.csproj.nuget.cache
    │   │   ├── aliyun-oss-sdk-dotnetcore.csproj.nuget.g.props
    │   │   ├── aliyun-oss-sdk-dotnetcore.csproj.nuget.g.targets
    │   │   ├── Debug
    │   │   │   └── netstandard2.0
    │   │   │       ├── Aliyun.OSS.Core.dll
    │   │   │       ├── Aliyun.OSS.Core.pdb
    │   │   │       ├── Aliyun.OSS.Domain.OssResources.resources
    │   │   │       ├── Aliyun.OSS.Properties.Resources.resources
    │   │   │       ├── aliyun-oss-sdk-dotnetcore.AssemblyInfo.cs
    │   │   │       ├── aliyun-oss-sdk-dotnetcore.AssemblyInfoInputs.cache
    │   │   │       ├── aliyun-oss-sdk-dotnetcore.csprojAssemblyReference.cache
    │   │   │       ├── aliyun-oss-sdk-dotnetcore.csproj.CoreCompileInputs.cache
    │   │   │       ├── aliyun-oss-sdk-dotnetcore.csproj.FileListAbsolute.txt
    │   │   │       └── aliyun-oss-sdk-dotnetcore.csproj.GenerateResource.cache
    │   │   └── project.assets.json
    │   ├── OssClient.cs
    │   ├── Properties
    │   │   ├── AssemblyInfo.cs
    │   │   ├── Resources.Designer.cs
    │   │   └── Resources.resx
    │   ├── Resources
    │   │   └── MimeData.txt
    │   ├── Transform
    │   │   ├── AppendObjectResponseDeserializer.cs
    │   │   ├── CompleteMultipartUploadRequestSerializer.cs
    │   │   ├── CompleteMultipartUploadResultDeserializer.cs
    │   │   ├── CopyObjectResultDeserializer.cs
    │   │   ├── CreateBucketRequestSerializer.cs
    │   │   ├── DeleteObjectsRequestSerializer.cs
    │   │   ├── DeleteObjectsResultDeserializer.cs
    │   │   ├── DeserializerFactory.cs
    │   │   ├── GetAclResponseDeserializer.cs
    │   │   ├── GetBucketInfoDeserializer.cs
    │   │   ├── GetBucketLifecycleDeserializer.cs
    │   │   ├── GetBucketLocationResultDeserializer.cs
    │   │   ├── GetBucketLoggingResultDeserializer.cs
    │   │   ├── GetBucketMetadataResponseDeserializer.cs
    │   │   ├── GetBucketStatDeserializer.cs
    │   │   ├── GetBucketStorageCapacityResultDeserializer.cs
    │   │   ├── GetBucketWebSiteResultDeserializer.cs
    │   │   ├── GetCorsResponseDeserializer.cs
    │   │   ├── GetObjectMetadataResponseDeserializer.cs
    │   │   ├── GetObjectResponseDeserializer.cs
    │   │   ├── GetSymlinkResultDeserializer.cs
    │   │   ├── IDeserializer.cs
    │   │   ├── InitiateMultipartUploadResultDeserializer.cs
    │   │   ├── ISerializer.cs
    │   │   ├── ListBucketsResultDeserializer.cs
    │   │   ├── ListMultipartUploadsResponseDeserializer.cs
    │   │   ├── ListObjectsResponseDeserializer.cs
    │   │   ├── ListPartsResultDeserializer.cs
    │   │   ├── PutObjectResponseDeserializer.cs
    │   │   ├── RequestSerializationException.cs
    │   │   ├── RequestSerializer.cs
    │   │   ├── ResponseDeserializationException.cs
    │   │   ├── ResponseDeserializer.cs
    │   │   ├── RestoreObjectResultDeserializer.cs
    │   │   ├── SerializerFactory.cs
    │   │   ├── SetBucketCorsRequestSerializer.cs
    │   │   ├── SetBucketLifecycleRequestSerializer.cs
    │   │   ├── SetBucketLoggingRequestSerializer.cs
    │   │   ├── SetBucketRefererRequestSerializer.cs
    │   │   ├── SetBucketStorageCapacityRequestSerializer.cs
    │   │   ├── SetBucketWebsiteRequestSerializer.cs
    │   │   ├── SimpleResponseDeserializer.cs
    │   │   ├── UploadPartCopyResponseDeserializer.cs
    │   │   ├── UploadPartResponseDeserializer.cs
    │   │   ├── XmlStreamDeserializer.cs
    │   │   └── XmlStreamSerializer.cs
    │   └── Util
    │       ├── AsyncResult.cs
    │       ├── CallbackHeaderBuilder.cs
    │       ├── Crc64.cs
    │       ├── DateUtils.cs
    │       ├── EnumUtils.cs
    │       ├── ExceptionFactory.cs
    │       ├── ExecutionContextBuilder.cs
    │       ├── HttpHeaders.cs
    │       ├── HttpUtils.cs
    │       ├── IOUtils.cs
    │       ├── OssHeaders.cs
    │       ├── OssRequestSigner.cs
    │       ├── OssUtils.cs
    │       ├── RequestParameters.cs
    │       ├── ServiceClientFactory.cs
    │       ├── SignUtils.cs
    │       └── StringValueAttribute.cs
    └── test
        ├── aliyun-oss-sdk-test.csproj
        ├── aliyun-oss-sdk-test-dotnetcore.csproj
        ├── aliyun_sdk_net.snk
        ├── app.config
        ├── bin
        │   └── Debug
        │       └── netcoreapp2.0
        │           ├── Aliyun.OSS.Core.dll
        │           ├── Aliyun.OSS.Core.pdb
        │           ├── Aliyun.OSS.Test.deps.json
        │           ├── Aliyun.OSS.Test.dll
        │           ├── Aliyun.OSS.Test.pdb
        │           ├── Aliyun.OSS.Test.runtimeconfig.dev.json
        │           ├── Aliyun.OSS.Test.runtimeconfig.json
        │           ├── ConcurrencyTestConfig.xml
        │           ├── Mono.Cecil.dll
        │           ├── NUnit3.TestAdapter.dll
        │           └── nunit.engine.netstandard.dll
        ├── ConcurrencyTestConfig.xml
        ├── example.jpg
        ├── obj
        │   ├── aliyun-oss-sdk-test-dotnetcore.csproj.nuget.cache
        │   ├── aliyun-oss-sdk-test-dotnetcore.csproj.nuget.g.props
        │   ├── aliyun-oss-sdk-test-dotnetcore.csproj.nuget.g.targets
        │   ├── Debug
        │   │   └── netcoreapp2.0
        │   │       ├── aliyun-oss-sdk-test-dotnetcore.AssemblyInfo.cs
        │   │       ├── aliyun-oss-sdk-test-dotnetcore.AssemblyInfoInputs.cache
        │   │       ├── aliyun-oss-sdk-test-dotnetcore.csprojAssemblyReference.cache
        │   │       ├── aliyun-oss-sdk-test-dotnetcore.csproj.CopyComplete
        │   │       ├── aliyun-oss-sdk-test-dotnetcore.csproj.CoreCompileInputs.cache
        │   │       ├── aliyun-oss-sdk-test-dotnetcore.csproj.FileListAbsolute.txt
        │   │       ├── aliyun-oss-sdk-test-dotnetcore.Program.cs
        │   │       ├── Aliyun.OSS.Test.dll
        │   │       └── Aliyun.OSS.Test.pdb
        │   └── project.assets.json
        ├── Properties
        │   ├── AssemblyInfo.cs
        │   └── Settings.Designer.cs
        ├── TestCase
        │   ├── AccessKeyTestCase
        │   │   └── AccessKeyTest.cs
        │   ├── BucketTestCase
        │   │   ├── BucketAclSettingsTest.cs
        │   │   ├── BucketBasicOperationTest.cs
        │   │   ├── BucketCorsSettingsTest.cs
        │   │   ├── BucketLifecycleSettingsTest.cs
        │   │   ├── BucketLoggingSettingsTest.cs
        │   │   ├── BucketRefersSettingsTest.cs
        │   │   ├── BucketSettingsTest.cs
        │   │   ├── BucketStorageCapacityTest.cs
        │   │   └── BucketWebsiteSettingsTest.cs
        │   ├── ObjectTestCase
        │   │   ├── ObjectAclSettingsTest.cs
        │   │   ├── ObjectBasicOperationTest.cs
        │   │   ├── ObjectCallbackTest.cs
        │   │   ├── ObjectCopyTest.cs
        │   │   ├── ObjectEncodingTypeTest.cs
        │   │   ├── ObjectHashCheckTest.cs
        │   │   ├── ObjectMultipartUploadTest.cs
        │   │   ├── ObjectProcessTest.cs
        │   │   ├── ObjectProgressTest.cs
        │   │   ├── ObjectResumableOperationTest.cs
        │   │   ├── ObjectSignedUriTest.cs
        │   │   └── OssCrcTest.cs
        │   └── OtherTestCase
        │       ├── ConcurrencyTest.cs
        │       ├── EpochTimeSettingTest.cs
        │       ├── HttpsTest.cs
        │       ├── ProxyTest.cs
        │       └── ResumableContextTest.cs
        └── Util
            ├── AccountSettings.cs
            ├── ConfigCore.cs
            ├── Config.cs
            ├── FileUtils.cs
            ├── LogUtility.cs
            ├── NonSeekableStream.cs
            ├── OssClientFactory.cs
            └── OssTestUtils.cs

48 directories, 412 files