Ejemplo n.º 1
0
        private bool  ReadFiles()
        {
            //   Get items in shared folder:            https://www.csharpcodi.com/csharp-examples/SharpCifs.Smb.SmbFile.GetUncPath0()/
            //using System;
            //using SharpCifs.Smb;

            //Get SmbFile-Object of a folder.
            var folder = new SmbFile("smb://" + Globals.cIP + "/"); // "smb://*****:*****@192.168.1.5/backpel/");

            //UnixTime
            var epocDate = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);

//List items
            foreach (SmbFile item in folder.ListFiles())
            {
                var lastModDate = epocDate.AddMilliseconds(item.LastModified())
                                  .ToLocalTime();
                var name = item.GetName();
                var type = item.IsDirectory() ? "dir" : "file";
                var date = lastModDate.ToString("yyyy-MM-dd HH:mm:ss");
                var msg  = $"{name} ({type}) - LastMod: {date}";
                Console.WriteLine(msg);
            }

            return(true);
        }
Ejemplo n.º 2
0
        async void Shared_Folder(object sender, EventArgs e)
        {
            //Get the SmbFile specifying the file name to be created.
            var file = new SmbFile("smb://" + Globals.cIP + "/EGGTIM2.TXT");

            // fine var file = new SmbFile("smb://*****:*****@192.168.1.5/backpel/New2FileName.txt");
            try
            {
                //Create file.
                file.CreateNewFile();
            }
            catch {
                await DisplayAlert("Υπαρχει ηδη το αρχειο", "....", "OK");

                return;
            }


            //Get writable stream.
            var    writeStream = file.GetOutputStream();
            string c           = "1;2;3;4;5;6;7;8;\n";

            c = c + "8;8;9;9;9;9;9;9\n";
            c = c + "18;18;19;19;19;19;19;19\n";

            //Write bytes.
            writeStream.Write(Encoding.UTF8.GetBytes(c));

            //Dispose writable stream.
            writeStream.Dispose();
        }
Ejemplo n.º 3
0
        internal DataConfiguration(SmbFile fileName, Action onExternalModification)
        {
            var path = fileName.PathCombine(ConfigurationIniFileName);

            IniFile = new IniFile(path, commentString: ";", onExternalModification: onExternalModification);
            RootUserConfigurationPath = fileName.DirectoryName;
        }
        /// <summary>
        /// 上传文件
        /// </summary>
        /// <param name="serverDir"></param>
        /// <param name="serverFileName"></param>
        /// <param name="bufBytes"></param>
        /// <param name="url"></param>
        /// <returns></returns>
        public static bool UpLoadFile(string serverDir, string serverFileName, byte[] bufBytes, out string url)
        {
            if (string.IsNullOrWhiteSpace(serverDir) ||
                string.IsNullOrWhiteSpace(serverFileName) ||
                bufBytes == null || bufBytes.Length <= 0)
            {
                throw new Exception("文件上传参数异常");
            }
            var folder = new SmbFile($"{BaseSmbFilePath}/{serverDir}");

            if (!folder.Exists())
            {
                throw new Exception($"服务器不存在当前目录{serverDir}");
            }
            var file = new SmbFile($"{BaseSmbFilePath}/{serverDir}/{serverFileName}");

            if (file.Exists())
            {
                throw new Exception($"服务器已存在此文件:/{serverDir}/{serverFileName}");
            }
            file.CreateNewFile();
            //Get writable stream.
            var writeStream = file.GetOutputStream();

            //Write bytes.
            writeStream.Write(bufBytes);
            //Dispose writable stream.
            writeStream.Dispose();
            url = String.Format(@"{0}/{1}/{2}", UrlPrefix, serverDir, serverFileName);
            return(true);
        }
Ejemplo n.º 5
0
        private Bitmap PegarImagensServidor(RegistroDeReforma registroDeReforma, int index)
        {
            Bitmap imagem = null;

            indexAtual = index;

            try
            {
                var firstLetterClient = registroDeReforma.NomeCliente.Substring(0, 1);
                var fullClientName    = registroDeReforma.NomeCliente.RemoveSpecialCaracters();
                var apelido           = registroDeReforma.NomeFantasia.RemoveSpecialCaracters();
                var cityName          = registroDeReforma.Cidade.RemoveSpecialCaracters();
                var dateRR            = DateTime.Now;
                var nf     = registroDeReforma.NotaFiscal;
                var rr     = registroDeReforma.DescricaoRR;
                var eqDesc = registroDeReforma.Equipamento.RemoveSpecialCaracters();

                var smbPath  = ConfigurationBase.Instance.SmbPath;
                var filePath = string.Format(ConfigurationBase.Instance.FilePath,
                                             firstLetterClient, fullClientName, apelido,
                                             cityName, dateRR.Year, nf, rr, eqDesc.TrimEnd());
                var auth2       = new NtlmPasswordAuthentication(ConfigurationBase.Instance.NetworkDomain, ConfigurationBase.Instance.NetworkUser, ConfigurationBase.Instance.NetworkPassword);
                var pathConfirm = new SmbFile(string.Format("{0}/{1}", smbPath, filePath), auth2);

                //Create file.
                if (pathConfirm.Exists())
                {
                    SmbFile file = pathConfirm.ListFiles().ToList()[index];

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

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

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

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

                        byte[] byteImage = memStream.ToArray();
                        imagem = BitmapFactory.DecodeByteArray(byteImage, 0, byteImage.Length);
                    }
                }

                else
                {
                    throw new Exception("Diretório não encontrado");
                }
            }
            catch (Exception ex)
            {
                Program.Main.ShowMessage(ex.Message, Android.Widget.ToastLength.Long, Base.Enums.ToastMessageType.Error);
            }

            return(imagem);
        }
Ejemplo n.º 6
0
 public FileSmb(SmbFile contentSmb) : base(contentSmb ?? throw new ArgumentNullException(nameof(contentSmb)))
 {
     if (!contentSmb.IsFile())
     {
         throw new ArgumentException("Argument is not File.");
     }
 }
Ejemplo n.º 7
0
        private TaskStatus SendFileSmb(string file)
        {
            SharpCifs.Config.SetProperty("jcifs.smb.client.lport", "8137");
            var auth    = new NtlmPasswordAuthentication(_shareFolder.Domen, _shareFolder.UserName, _shareFolder.Password);
            var address = Path.Combine(@"smb://", _shareFolder.Address, Path.GetFileName(file));
            var smb     = new SmbFile(address, auth);

            try
            {
                if (smb.Exists())
                {
                    smb.Delete();
                }
                smb.CreateNewFile();
                using (var writeStream = smb.GetOutputStream())
                {
                    writeStream.Write(GetCopiedFile(file));
                }
                _logger.LogInformation("Успешно");
                return(TaskStatus.Completed);
            }
            catch (SmbException smbException)
            {
                FailedCopyingFiles.WithLabels("Ошибка при подключении").Set(1);
                _logger.LogError(smbException, "Ошибка при подключении");
                return(TaskStatus.Error);
            }
            catch (Exception ex)
            {
                FailedCopyingFiles.WithLabels("Ошибка при копировании файла").Set(1);
                _logger.LogError(ex, "Ошибка при копировании файла");
                return(TaskStatus.Error);
            }
        }
Ejemplo n.º 8
0
        public List <String> getItens()
        {
            List <String> lstDir = new List <String>();

            //"smb://*****:*****@FERNANDO-PC/OHFC/Pics/"
            try
            {
                var folder = new SmbFile(folderPath);

                //UnixTime
                var epocDate = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);

                //List items
                foreach (SmbFile item in folder.ListFiles())
                {
                    var lastModDate = epocDate.AddMilliseconds(item.LastModified())
                                      .ToLocalTime();
                    var name = item.GetName();
                    var type = item.IsDirectory() ? "dir" : "file";
                    var date = lastModDate.ToString("yyyy-MM-dd HH:mm:ss");
                    var msg  = $"{name} ({type}) - LastMod: {date}";
                    lstDir.Add(msg);
                }
                return(lstDir);
            } catch (Exception e)
            {
                lstDir.Add(e.ToString());
                return(lstDir);
            }
        }
Ejemplo n.º 9
0
        public static FileCluster Create
        (
            SmbFile path,
            SmbFile[] paths,
            IDictionary <string, bool> knownMods,
            MmasfContext parent)
        {
            var infoJSon = GetInfoJSon(path);

            if (infoJSon == null)
            {
                return(null);
            }

            var dictionary = path.Directory.Directory;

            var index = paths
                        .OrderByDescending(item => item.FullName.Split('\\').Length)
                        .ThenBy(item => item.FullName)
                        .IndexWhere(file => file.Contains(dictionary))
                        .AssertValue();

            var modName     = infoJSon.Name;
            var isEnabled   = knownMods.GetValueOrNull(modName);
            var version     = new Version(infoJSon.Version);
            var description = parent.ModDictionary[modName][version];

            description.InfoJSon = infoJSon;
            return(new FileCluster(path, isEnabled, index, description, infoJSon));
        }
Ejemplo n.º 10
0
        ////private static string srv = "WIN";
        ////private static string login = "******";
        ////private static string parol = "temp2";
        ////private static string fpath = $@"smb://{login}:{parol}@{srv}/temp/";
        ////private static string targetf = @"C:\temp\";

        static void Main(string[] args)
        {
            SharpCifs.Config.SetProperty("jcifs.smb.client.responseTimeout", "3000");
            SharpCifs.Config.SetProperty("jcifs.smb.client.connTimeout", "3000");
            SharpCifs.Config.SetProperty("jcifs.smb.client.soTimeout", "3000");

            //using System;
            //using SharpCifs.Smb;

            //Get SmbFile-Object of a folder.


            //UnixTime
            var epocDate = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);

            while (true)
            {
                var folder = new SmbFile(fpath);
                try
                {
                    folder.ListFiles();
                    Thread.Sleep(1000);
                }
                catch (Exception e)
                {
                    try
                    {
                        for (int i = 0; i <= 3; i++)
                        {
                            SmbTransport.ClearCachedConnections(true);
                            break;
                        }
                    }
                    catch (Exception exception)
                    {
                        Thread.Sleep(1000);
                    }
                    Console.WriteLine(e);
                }
                continue;

                //List items
                foreach (SmbFile item in folder.ListFiles())
                {
                    var lastModDate = epocDate.AddMilliseconds(item.LastModified())
                                      .ToLocalTime();

                    var name = item.GetName();
                    var type = item.IsDirectory() ? "dir" : "file";
                    var date = lastModDate.ToString("yyyy-MM-dd HH:mm:ss");
                    var msg  = $"{name} ({type}) - LastMod: {date}";


                    // GetFile(item);
                    Console.WriteLine(msg);
                }
            }

            Console.ReadLine();
        }
Ejemplo n.º 11
0
        private void CaptureTemperatures(SmbFile file)
        {
            try
            {
                var temperatures = "";

                Console.WriteLine($"file?-> {file}");
                if (file != null)
                {
                    //Create reading buffer.
                    using (var memStream = new MemoryStream())
                    {
                        //Get readable stream.
                        using (var readStream = file.GetInputStream())
                        {
                            //Get bytes.
                            ((Stream)readStream).CopyTo(memStream);
                        }
                        temperatures = Encoding.UTF8.GetString(memStream.ToArray());
                        string[] stringSeparators = { "\r\n" };
                        string[] lines            = temperatures.Split(stringSeparators, StringSplitOptions.None);
                        var      lastTemperature  = lines.First(l => l != "");
                        lastTemperature      = lastTemperature.Split(",").Last();
                        this.LastTemperature = $"{Convert.ToDecimal(lastTemperature).ToString("0.##")}º C";
                        RunOnUiThread(() => this.infoText2.Text = $"{this.LastTemperature}");
                    }
                }
            }
            catch (Exception)
            {
                Console.WriteLine($"errot gen data");
            }
        }
Ejemplo n.º 12
0
        public Task <IFolder> CreateAndGetSubFolder(String name)
        {
            if (mSmbFile == null)
            {
                return(Task.FromResult((IFolder)this));
            }

            return(Task.Factory.StartNew(() => {
                try
                {
                    var file = new SmbFile(mSmbFile, name);
                    file.Mkdir();
                }
                catch (SmbException ex)
                {
                    LogException(ex);
                    throw new System.IO.IOException(ex.Message, ex);
                }
                catch (Java.IO.IOException ex)
                {
                    throw new System.IO.IOException(ex.Message, ex);
                }
                return (IFolder)(new SmbFolder(mSmbFile, name));
            }));
        }
Ejemplo n.º 13
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);
        }
Ejemplo n.º 14
0
 public DirectorySmb(SmbFile contentSmb) : base(contentSmb ?? throw new ArgumentNullException(nameof(contentSmb)))
 {
     if (!contentSmb.IsDirectory())
     {
         throw new ArgumentException("Argument is not Directory.");
     }
 }
Ejemplo n.º 15
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()));
        }
Ejemplo n.º 16
0
        public void NbtAddressTest()
        {
            //NG: ローカルポートと共に、宛先ポートを変更してしまう。
            //SharpCifs.Config.SetProperty("jcifs.netbios.lport", "2137");

            //ローカルポートのみを変更する。ウェルノウンポートは管理者権限が必要なので。
            SharpCifs.Config.SetProperty("jcifs.smb.client.lport", "8137");
            try
            {
                var lan        = new SmbFile("smb://", "");
                var workgroups = lan.ListFiles();
            }
            catch (Exception ex)
            {
                throw;
            }



            //var nbtAddrs = NbtAddress.GetAllByAddress("COCO4");
            //var nbtAddrs = NbtAddress.GetAllByAddress("127.0.0.1");
            var nbtAddrs = NbtAddress.GetAllByAddress("192.168.254.11");

            foreach (var nbtAddr in nbtAddrs)
            {
                this.Out($"{nbtAddr.GetHostName()} - {nbtAddr.GetInetAddress()}");
            }
        }
Ejemplo n.º 17
0
        public void ConfigTest1()
        {
            var props = new SharpCifs.Util.Sharpen.Properties();

            props.SetProperty("jcifs.smb.client.username", this.UserName);
            props.SetProperty("jcifs.smb.client.password", this.Password);
            SharpCifs.Config.SetProperties(props);


            var uriString = $"smb://{this.ServerName}/FreeArea/SharpCifsTest/";
            var dir       = new SmbFile(uriString);

            Assert.IsTrue(dir.Exists());

            var list = dir.ListFiles();

            foreach (var file in list)
            {
                var name = file.GetName();
                //Assert.IsTrue(name.IndexOf("filename") >= 0);

                var time      = file.LastModified();
                var dateteime = EpocDate.AddMilliseconds(time).ToLocalTime();

                this.Out(
                    $"Name: {file.GetName()}, isDir?: {file.IsDirectory()}, Date: {dateteime.ToString("yyyy-MM-dd HH:mm:ss")}");
            }
        }
Ejemplo n.º 18
0
 /// <exception cref="WinrtCifs.Smb.SmbException"></exception>
 /// <exception cref="System.UriFormatException"></exception>
 /// <exception cref="UnknownHostException"></exception>
 public SmbRandomAccessFile(SmbFile file, string mode)
 {
     this._file = file;
     if (mode.Equals("r"))
     {
         _openFlags = SmbFile.OCreat | SmbFile.ORdonly;
     }
     else
     {
         if (mode.Equals("rw"))
         {
             _openFlags     = SmbFile.OCreat | SmbFile.ORdwr | SmbFile.OAppend;
             _writeAndxResp = new SmbComWriteAndXResponse();
             _options       = WriteOptions;
             _access        = SmbConstants.FileReadData | SmbConstants.FileWriteData;
         }
         else
         {
             throw new ArgumentException("Invalid mode");
         }
     }
     file.Open(_openFlags, _access, SmbFile.AttrNormal, _options);
     _readSize  = file.Tree.Session.transport.RcvBufSize - 70;
     _writeSize = file.Tree.Session.transport.SndBufSize - 70;
     _fp        = 0L;
 }
Ejemplo n.º 19
0
 private void AssertDirectoryExists(SmbFile file, string path)
 {
     if (!file.Exists())
     {
         throw new FileNotFoundException("File not found.", path);
     }
 }
Ejemplo n.º 20
0
        public void LocalScanTest()
        {
            //ローカルポートと共に、宛先ポートを変更してしまう。
            //SharpCifs.Config.SetProperty("jcifs.netbios.lport", "2137");

            //ローカルポートのみを変更する。ウェルノウンポートは管理者権限が必要なので。
            SharpCifs.Config.SetProperty("jcifs.smb.client.lport", "8137");

            SmbFile[] workgroups;
            try
            {
                var lan = new SmbFile("smb://", "");
                workgroups = lan.ListFiles();
            }
            catch (Exception ex)
            {
                throw;
            }


            foreach (var workgroup in workgroups)
            {
                Console.WriteLine($"Workgroup Name = {workgroup.GetName()}");
                this.Out($"Workgroup Name = {workgroup.GetName()}");

                try
                {
                    var servers = workgroup.ListFiles();
                    foreach (var server in servers)
                    {
                        Console.WriteLine($"{workgroup.GetName()} - Server Name = {server.GetName()}");
                        this.Out($"{workgroup.GetName()} - Server Name = {server.GetName()}");

                        try
                        {
                            var shares = server.ListFiles();

                            foreach (var share in shares)
                            {
                                Console.WriteLine($"{workgroup.GetName()}/{server.GetName()} - Share Name = {share.GetName()}");
                                this.Out($"{workgroup.GetName()}/{server.GetName()} - Share Name = {share.GetName()}");
                            }
                        }
                        catch (Exception)
                        {
                            Console.WriteLine($"{workgroup.GetName()}/{server.GetName()} - Access Denied");
                            this.Out($"{workgroup.GetName()}/{server.GetName()} - Access Denied");
                        }
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine($"{workgroup.GetName()} - Access Denied");
                    this.Out($"{workgroup.GetName()} - Access Denied");
                }
            }

            Console.WriteLine("Fin");
        }
Ejemplo n.º 21
0
 internal IniFile(SmbFile path, string commentString, Action onExternalModification)
 {
     Path                   = path;
     CommentString          = commentString;
     OnExternalModification = onExternalModification;
     Data                   = new ValueCache <IniData>(() => Path.FromIni(CommentString));
     Watcher                = CreateWatcher(path);
 }
Ejemplo n.º 22
0
 FileCluster(SmbFile fileHandle, bool?isEnabled, int configIndex, ModDescription description, InfoJSon infoJSon)
 {
     File        = fileHandle;
     ConfigIndex = configIndex;
     Description = description;
     InfoJSon    = infoJSon;
     IsEnabled   = isEnabled;
 }
Ejemplo n.º 23
0
 /// <summary>
 /// Creates an
 /// <see cref="System.IO.OutputStream">System.IO.OutputStream</see>
 /// for writing bytes to a file
 /// on an SMB server addressed by the <code>SmbFile</code> parameter. See
 /// <see cref="SmbFile">SmbFile</see>
 /// for a detailed description and examples of
 /// the smb URL syntax. If the second argument is <code>true</code>, then
 /// bytes will be written to the end of the file rather than the beginning.
 /// </summary>
 /// <param name="file">An <code>SmbFile</code> representing the file to write to</param>
 /// <param name="append">Append to the end of file</param>
 /// <exception cref="SharpCifs.Smb.SmbException"></exception>
 /// <exception cref="System.UriFormatException"></exception>
 /// <exception cref="UnknownHostException"></exception>
 public SmbFileOutputStream(SmbFile file, bool append)
     : this(file,
            append,
            append
                 ? SmbFile.OCreat | SmbFile.OWronly | SmbFile.OAppend
                 : SmbFile.OCreat | SmbFile.OWronly | SmbFile.OTrunc)
 {
 }
Ejemplo n.º 24
0
        //using System;
        //using SharpCifs.Smb;

        //Set Local UDP-Broadcast Port.
        //When using the host name when connecting,
        //Change default local port(137) to a value larger than 1024.
        //In many cases, use of the well-known port is restricted.
        //
        // ** If possible, using IP addresses instead of host names
        // ** to get better performance.
        //
        async void fLISTSERVER(object sender, EventArgs e)
        {
            SharpCifs.Config.SetProperty("jcifs.smb.client.lport", "8137");

            //Get local workgroups.
            var lan        = new SmbFile("smb://" + Globals.cIP + "/", ""); //   User:[email protected]/", "");
            var workgroups = lan.ListFiles();

            foreach (var workgroup in workgroups)
            {
                Console.WriteLine($"Workgroup Name = {workgroup.GetName()}");
                // await DisplayAlert($"Workgroup Name = {workgroup.GetName()}","","");
                try
                {
                    //Get servers in workgroup.
                    var servers = workgroup.ListFiles();
                    int nn      = 0;
                    foreach (var server in servers)
                    {
                        nn++;
                        if (nn > 2)
                        {
                            break;
                        }
                        Console.WriteLine($"{workgroup.GetName()} - Server Name = {server.GetName()}");
                        await   DisplayAlert($"{workgroup.GetName()} - Server Name = {server.GetName()}", "....", "OK");

                        try
                        {
                            //Get shared folders in server.
                            var shares = server.ListFiles();
                            int n      = 0;
                            foreach (var share in shares)
                            {
                                Console.WriteLine($"{workgroup.GetName()}{server.GetName()} - Share Name = {share.GetName()}");
                                await DisplayAlert($"{workgroup.GetName()}{server.GetName()} - Share Name = {share.GetName()}", "", "OK");

                                n++;
                                if (n > 2)
                                {
                                    break;
                                }
                            }
                        }
                        catch (Exception)
                        {
                            Console.WriteLine($"{workgroup.GetName()}{server.GetName()} - Access Denied");
                            await DisplayAlert($"{workgroup.GetName()}{server.GetName()} - Access Denied", "", "OK.");
                        }
                    }
                }
                catch (Exception)
                {
                    Console.WriteLine($"{workgroup.GetName()} - Access Denied");
                    await DisplayAlert($"{workgroup.GetName()} - Access Denied", "", "OK-");
                }
            }
        }
Ejemplo n.º 25
0
 private static void ClearSmbState()
 {
     try
     {
         SmbTransport.ClearCachedConnections(true);
         SmbFile.Initialize();
     }
     catch { }
 }
Ejemplo n.º 26
0
        private void Button1_Clicked(object sender, EventArgs e)
        {
            var folder = new SmbFile($"smb://{_username}:{_password}@{_server}/{_sharedfoldername}/"); //<-need last'/' in directory

            foreach (var item in folder.ListFiles())
            {
                Console.WriteLine($"Name: {item.GetName()}, isDir?: {item.IsDirectory()}");
            }
        }
Ejemplo n.º 27
0
    public static void CreateZipFile(string destinationPath, SmbFile source, string targetPath)
    {
        var zipStream = new ZipOutputStream(File.Create(destinationPath));

        zipStream.SetLevel(3);
        CompressFolder(zipStream, source, targetPath);
        zipStream.IsStreamOwner = true;
        zipStream.Close();
    }
Ejemplo n.º 28
0
        static InfoJSon GetInfoJSon(SmbFile file)
        {
            var text =
                file.IsDirectory
                    ? GetInfoJSonFromDirectory(file)
                    : GetInfoJSonFromZipFile(file);

            return(text?.FromJson <InfoJSon>());
        }
Ejemplo n.º 29
0
 private SmbFolder(SmbFile smbFile)
 {
                 #if DEBUG_SAMBA
     if (smbFile != null)
     {
         Android.Util.Log.Debug("SmbClient", "Create file with smb path: " + smbFile.Path);
     }
                 #endif
     mSmbFile = smbFile;
 }
Ejemplo n.º 30
0
        private void InserirImagensServidor(RegistroDeReforma registroDeReforma)
        {
            foreach (var item in registroDeReforma.ListaDeImagens)
            {
                try
                {
                    //Remover Caracteres Especiais, Nome, NomeFantasia, Descricao do Equipamento e Cidade
                    //
                    //Primeira Letra nome Cliente/Nome --
                    //NomeFantasia /Unidade {Cidade}/Ano/NF NroNota R.R. NroRRConsulta DescricaoEquipamento/
                    //NomeImagem DataComUnderline
                    //Get the SmbFile specifying the file name to be created.

                    var firstLetterClient = registroDeReforma.NomeCliente.Substring(0, 1);
                    var fullClientName    = registroDeReforma.NomeCliente.RemoveSpecialCaracters();
                    var apelido           = registroDeReforma.NomeFantasia.RemoveSpecialCaracters();
                    var cityName          = registroDeReforma.Cidade.RemoveSpecialCaracters();
                    var dateRR            = DateTime.Parse(registroDeReforma.DataCadastro);
                    var nf     = registroDeReforma.NotaFiscal;
                    var rr     = registroDeReforma.DescricaoRR;
                    var eqDesc = registroDeReforma.Equipamento.RemoveSpecialCaracters();

                    var smbPath  = ConfigurationBase.Instance.SmbPath;
                    var filePath = string.Format(ConfigurationBase.Instance.FilePath,
                                                 firstLetterClient, fullClientName, apelido,
                                                 cityName, dateRR.Year, nf, rr, eqDesc.TrimEnd());
                    var fileName = string.Format("{0}.{1}", DateTime.Now.ToString("dd-MM-yyyy HH:mm:ss.fff").Replace('/', '_').Replace(':', '_').Replace(' ', '_'), "jpg");

                    var auth2       = new NtlmPasswordAuthentication(ConfigurationBase.Instance.NetworkDomain, ConfigurationBase.Instance.NetworkUser, ConfigurationBase.Instance.NetworkPassword);
                    var pathConfirm = new SmbFile(string.Format("{0}/{1}", smbPath, filePath), auth2);

                    //Create file.
                    if (!pathConfirm.Exists())
                    {
                        pathConfirm.Mkdirs();
                    }

                    var file = new SmbFile(string.Format("{0}/{1}/{2}", smbPath, filePath, fileName), auth2);
                    file.CreateNewFile();

                    //Get writable stream.
                    var writeStream = file.GetOutputStream();

                    //Write bytes.
                    writeStream.Write(Helpers.Helpers.GetImageArray(item));

                    //Dispose writable stream.
                    writeStream.Dispose();
                }
                catch (Exception ex)
                {
                    throw new Exception(ex.Message);
                }
            }
        }
Ejemplo n.º 31
0
		/// <exception cref="SharpCifs.Smb.SmbException"></exception>
		public virtual bool Accept(SmbFile file)
		{
			return (file.GetAttributes() & Attributes) != 0;
		}