Exemplo n.º 1
0
        public SMBDirectoryChangeToken(string folderPath)
        {
            var directory = new SmbFile(folderPath);

            if (!directory.IsDirectory())
            {
                throw new ArgumentException($"'{directory.GetName()}' не является каталогом.");
            }
            if (!directory.Exists())
            {
                throw new ArgumentException($"Каталог '{directory.GetName()}' не существует.");
            }

            _folderPath = folderPath;
        }
Exemplo n.º 2
0
        private FileSystemMetadata ToMetadata(SmbFile info, bool?isDirectory = null)
        {
            var result = new FileSystemMetadata();

            result.Exists    = info.Exists();
            result.FullName  = GetReturnPath(info);
            result.Extension = Path.GetExtension(result.FullName);
            result.Name      = info.GetName();

            if (result.Exists)
            {
                result.IsDirectory = info.IsDirectory();
                result.IsHidden    = info.IsHidden();

                result.IsReadOnly = !info.CanWrite();

                if (info.IsFile())
                {
                    result.Length        = info.Length();
                    result.DirectoryName = info.GetParent();
                }

                result.CreationTimeUtc  = baseDate.AddMilliseconds(info.CreateTime());
                result.LastWriteTimeUtc = baseDate.AddMilliseconds(info.GetLastModified());
            }
            else
            {
                if (isDirectory.HasValue)
                {
                    result.IsDirectory = isDirectory.Value;
                }
            }

            return(result);
        }
Exemplo n.º 3
0
        static void GetFile(SmbFile item)
        {
            //Get target's SmbFile.
            var file = new SmbFile(fpath + item.GetName());

            //Get readable stream.
            var readStream = file.GetInputStream();

            //Create reading buffer.
            var memStream = new FileStream(targetf + item.GetName(), FileMode.Create);

            //Get bytes.
            ((Stream)readStream).CopyTo(memStream);

            //Dispose readable stream.
            readStream.Dispose();

            //  Console.WriteLine(Encoding.UTF8.GetString(memStream.ToArray()));
        }
Exemplo n.º 4
0
        private void tsbRead_Click(object sender, EventArgs e)
        {
            try
            {
                //Get target's SmbFile.
                var file = new SmbFile("smb://jing.luo:[email protected]/程序文件及体系证书/体系证书/新版体系证书/IATF16949:2016 证书  中英文版.pdf");

                //Get readable stream.
                var readStream = file.GetInputStream();

                //Create reading buffer.
                var memStream = new MemoryStream();

                FileStream fs = new FileStream(AppDomain.CurrentDomain.BaseDirectory + file.GetName(), FileMode.Create);

                //Get bytes.
                ((Stream)readStream).CopyTo(fs);

                //Dispose readable stream.
                readStream.Dispose();
                MessageBox.Show("文件下载成功");
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message + ex.InnerException);
            }



            //Console.WriteLine(Encoding.UTF8.GetString(memStream.ToArray()));
        }
Exemplo n.º 5
0
 public SambaFile(SmbFile file, SambaSource source)
 {
     Filename  = file.GetName();
     Source    = source;
     this.file = file;
 }