コード例 #1
0
 public NativeFileSystemStream(IJSRuntime jsRuntime, NativeFileSystemFileInfo fileInfo)
 {
     this.jsRuntime            = jsRuntime;
     this.webAssemblyJSRuntime = jsRuntime as IJSUnmarshalledRuntime;
     this.fileInfo             = fileInfo;
     this.position             = 0;
     fileInfo.AddRef();
 }
コード例 #2
0
        async Task <(string fileName, NativeFileSystemFileInfo fileInfo)> EnsureNativeFileSystemFileInfoExists(long handle, long dbId)
        {
            var name = await jsRuntime.InvokeAsync <string>("logjoint.nativeFiles.getName", handle);

            string fileName = $"{nativeFileSystemNamePrefix}{dbId}/{name}";

            if (!nativeFileSystemFiles.TryGetValue(fileName, out var fileInfo))
            {
                var size = await jsRuntime.InvokeAsync <long>("logjoint.nativeFiles.getSize", handle);

                var lastModified = await jsRuntime.InvokeAsync <long>("logjoint.nativeFiles.getLastModified", handle);

                nativeFileSystemFiles.Add(fileName, fileInfo = new NativeFileSystemFileInfo()
                {
                    owner        = this,
                    fileName     = fileName,
                    jsRuntime    = jsRuntime,
                    handle       = handle,
                    size         = size,
                    lastModified = DateTime.UnixEpoch.AddMilliseconds(lastModified)
                });
            }
            return(fileName, fileInfo);
        }