Exemplo n.º 1
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);
            }
        }
Exemplo 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();
        }
        /// <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);
        }
Exemplo n.º 4
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);
                }
            }
        }
Exemplo n.º 5
0
        static void Main(string[] args)
        {
            var config = new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory()).
                         AddJsonFile("appsettings.json")
                         .Build();

            var auth   = new NtlmPasswordAuthentication(string.Format("{0}:{1}", config["UserName"], config["Password"]));
            var folder = new SmbFile(string.Format("smb://{0}", config["NetworkPath"]), auth);

            Console.WriteLine(folder.GetPath());
            var writeStream = folder.GetOutputStream();

            writeStream.Write(Encoding.UTF8.GetBytes("Hello!"));
            writeStream.Dispose();
            Console.WriteLine("hi");
        }
Exemplo n.º 6
0
        public void savePic(String fileName, Byte[] picBytes)
        {
            //Get the SmbFile specifying the file name to be created.
            var file = new SmbFile(folderPath + fileName);

            //Create file.
            file.CreateNewFile();

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

            //Write bytes.
            writeStream.Write(picBytes);

            //Dispose writable stream.
            writeStream.Dispose();
        }
Exemplo n.º 7
0
        public void CreateWriteDeleteTest()
        {
            var a = 1;

            var dir = new SmbFile(this.GetUriString("FreeArea/SharpCifsTest/"));

            Assert.IsTrue(dir.Exists());

            var file2 = new SmbFile(dir, "newFile.txt");

            Assert.IsFalse(file2.Exists());

            file2.CreateNewFile();

            Assert.IsTrue(file2.Exists());

            var writeStream = file2.GetOutputStream();

            Assert.AreNotEqual(null, writeStream);

            var textBytes = Encoding.UTF8.GetBytes("マルチバイト\r\n\r\n∀\r\n∀");

            writeStream.Write(textBytes);
            writeStream.Dispose();

            var readStream = file2.GetInputStream();

            Assert.AreNotEqual(null, readStream);

            var text = Encoding.UTF8.GetString(Xb.File.Util.GetBytes(readStream));

            this.Out(text);
            Assert.IsTrue(text.IndexOf("バイト") >= 0);
            readStream.Dispose();

            file2.Delete();
            Assert.IsFalse(file2.Exists());
        }
Exemplo n.º 8
0
        private void tsbUpload_Click(object sender, EventArgs e)
        {
            //using System.Text;
            //using SharpCifs.Smb;

            OpenFileDialog openFileDialog = new OpenFileDialog();

            //Get the SmbFile specifying the file name to be created.
            var file = new SmbFile("smb://jing.luo:[email protected]/software/NewFileName.txt");

            //Create file.
            file.CreateNewFile();

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

            //Write bytes.
            writeStream.Write(Encoding.UTF8.GetBytes("Hello!"));

            //Dispose writable stream.
            writeStream.Dispose();
            MessageBox.Show("文件上传成功");
        }
Exemplo n.º 9
0
        public void CreateFile(string fileName, FileExtension extention, byte[] bytes, bool isOverWrite = false)
        {
            var extentionString = Constants.FileExtensions.GetFileExtentions(extention);
            var smbShareFile    = new SmbFile(Path.Combine(DocumentStorePath, fileName + extentionString), authenticationObject);

            if (isOverWrite && smbShareFile.Exists())// a and b
            {
                smbShareFile.Delete();
                smbShareFile.CreateNewFile();
            }
            else if (!smbShareFile.Exists()) // !b << (a or !a) and !b << (a and !b) or (!a and !b)
            {
                smbShareFile.CreateNewFile();
            }
            //else
            //{
            //    return;
            //}
            using (var streamOut = smbShareFile.GetOutputStream())
            {
                ((Stream)streamOut).Write(bytes, 0, bytes.Length);
            }
        }
Exemplo n.º 10
0
        async void savecodes(object sender, EventArgs e)

        {
            string text = cc;
            //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.2.7/backpel/New2FileName.txt");



            try {
                if (file.Exists())
                {
                    var answer = await DisplayAlert("Το αρχείο υπάρχει", "Να διαγραφεί;", "Ναι", "Οχι");

                    if (answer)
                    {
                        file.Delete();
                    }
                    else
                    {
                        return;
                    }
                }
            }
            catch
            {
                DisplayAlert("δεν υπαρχει ο φακελος", "....", "OK");
                return;
            }



            try
            {
                //Create file.
                file.CreateNewFile();
            }
            catch
            {
                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(text));

            //Dispose writable stream.
            writeStream.Dispose();
            DisplayAlert("Εγινε η δημιουργία του αρχείου ", "....", "OK");

            cc = "";
        }
Exemplo n.º 11
0
        public void ShareAccessFlagTest()
        {
            var sameUrl = this.GetUriString("FreeArea/SharpCifsTest/test.txt");

            //for recover
            var file = new SmbFile(sameUrl, null, SmbFile.FileShareDelete);

            Assert.IsTrue(file.Exists());
            var fileReadStream = file.GetInputStream();
            var bytes          = Xb.Byte.GetBytes((Stream)fileReadStream);

            fileReadStream.Dispose();
            this.Out($"base: {Encoding.UTF8.GetString(bytes)}");
            fileReadStream.Close();


            var tmpFile = default(SmbFile);
            var reader  = default(InputStream);
            var writer  = default(OutputStream);

            //1)ShareAccess = FileNoShare
            var shareAccessWriteFile = new SmbFile(sameUrl, null, SmbFile.FileNoShare);

            Assert.IsTrue(shareAccessWriteFile.Exists());
            reader = file.GetInputStream();

            try
            {
                //multiple read same file
                tmpFile = new SmbFile(sameUrl);
                var tmpReader = tmpFile.GetInputStream();

                Assert.Fail();
            }
            catch (SmbException ex)
            {
                this.Out(ex); // <- OK.
            }
            catch (Exception ex)
            {
                this.Out(ex);
                reader.Dispose();
                Assert.Fail();
            }
            reader.Dispose();


            //2)ShareAccess = FileShareDelete (default)
            var shareAccessDeleteFile = new SmbFile(sameUrl, null, SmbFile.FileShareDelete);

            Assert.IsTrue(shareAccessDeleteFile.Exists());
            reader = file.GetInputStream();

            try
            {
                //multiple read same file
                tmpFile = new SmbFile(sameUrl);
                var tmpReader = tmpFile.GetInputStream();
                tmpReader.Dispose();
            }
            catch (SmbException ex)
            {
                this.Out(ex); // <- WHY HERE?

                reader.Dispose();

                //recover
                writer = file.GetOutputStream();
                writer.Write(bytes);
                writer.Dispose();

                Assert.Fail();
            }
            catch (Exception ex)
            {
                this.Out(ex);
                Assert.Fail();
            }
            reader.Dispose();


            //recover
            writer = file.GetOutputStream();
            writer.Write(bytes);
            writer.Dispose();
        }
Exemplo n.º 12
0
        private async Task GenerateData(SmbFile file)
        {
            try
            {
                locationManager.RequestLocationUpdates(locationProvider, 0, 0, this);
                if (currentLocation == null)
                {
                    RunOnUiThread(() => this.infoText.Text = "Location is null");
                    return;
                }
                Console.WriteLine($"return? -> {currentLocation}");

                var coordinates = "";

                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);
                        }
                        coordinates = Encoding.UTF8.GetString(memStream.ToArray());
                    }

                    coordinates = $"{coordinates}{System.Environment.NewLine}{DateTime.Now:yyyy/MM/dd HH:mm},{currentLocation.Latitude.ToString()},{currentLocation.Longitude.ToString()}";
                    // Console.WriteLine($"coordinates?-> {coordinates}");
                    //Get writable stream.
                    using (var writeStream = file.GetOutputStream())
                    {
                        //Write bytes.
                        writeStream.Write(Encoding.UTF8.GetBytes(coordinates));
                    }

                    this.LastUpdate   = DateTime.Now;
                    this.LastLocation = $"Lat: {Math.Round(currentLocation.Latitude, 2)}{System.Environment.NewLine}Long: {Math.Round(currentLocation.Longitude, 2)}";

                    var totalDistance = 0.0;

                    var coordinatesList = coordinates.Split(
                        new[] { System.Environment.NewLine },
                        StringSplitOptions.None);

                    for (var i = 1; i < coordinatesList.Length; i++)
                    {
                        try
                        {
                            var thisLat  = Convert.ToDouble(coordinatesList[i].Split(',')[1]);
                            var thisLong = Convert.ToDouble(coordinatesList[i].Split(',')[2]);
                            var prevLat  = Convert.ToDouble(coordinatesList[i - 1].Split(',')[1]);
                            var prevLong = Convert.ToDouble(coordinatesList[i - 1].Split(',')[2]);
                            var distance = new Coordinates(thisLat, thisLong)
                                           .DistanceTo(new Coordinates(prevLat, prevLong), UnitOfLength.Kilometers);

                            totalDistance = totalDistance + distance;
                        }
                        catch (Exception ex)
                        {
                            Console.WriteLine(ex);
                        }
                    }

                    this.totalDistanceInKm = totalDistance;

                    RunOnUiThread(() =>
                    {
                        try
                        {
                            this.infoText4.Text = $"{Math.Round(this.totalDistanceInKm, 1)}km";
                        }
                        catch (Exception)
                        {
                            Console.WriteLine($"errot gen data");
                        }
                    });

                    try
                    {
                        var mapquestUrl = $"http://www.mapquestapi.com/geocoding/v1/reverse?key={key}&location={currentLocation.Latitude},{currentLocation.Longitude}&includeRoadMetadata=false&includeNearestIntersection=false&thumbmaps=true";
                        using (var client = new HttpClient())
                        {
                            var result = await client.GetStringAsync(mapquestUrl);

                            dynamic data = JObject.Parse(result);
                            Console.WriteLine($"{result}");
                            string city = data.results[0].locations[0].adminArea5;
                            if (city == "")
                            {
                                city = data.results[0].locations[0].adminArea4;
                            }
                            if (city == "")
                            {
                                city = data.results[0].locations[0].adminArea3;
                            }
                            if (city == "")
                            {
                                city = data.results[0].locations[0].adminArea2;
                            }
                            string thumbUrl = data.results[0].locations[0].mapUrl;
                            RunOnUiThread(() => this.infoText3.Text = city);
                        }
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex);
                    }

                    try
                    {
                        var forecastUrl = $"https://api.openweathermap.org/data/2.5/forecast?lat={currentLocation.Latitude}&lon={currentLocation.Longitude}&units=metric&cnt=1&APPID={weatherApiKey}";
                        using (var client = new HttpClient())
                        {
                            var result = await client.GetStringAsync(forecastUrl);

                            dynamic data = JObject.Parse(result);
                            Console.WriteLine($"{result}");
                            decimal min     = data.list[0].main.temp_min;
                            decimal max     = data.list[0].main.temp_max;
                            string  weather = data.list[0].weather[0].main;
                            RunOnUiThread(() => this.infoText5.Text = $"{weather}{System.Environment.NewLine}{min}º C / {max}º C");
                        }
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex);
                    }
                }
            }
            catch (Exception)
            {
                Console.WriteLine($"errot gen data");
            }
        }
Exemplo n.º 13
0
        async void SaveFile(string text)
        {
            // DESKTOP-MPGU8SB\SQL17
            string[] lines     = Globals.cSQLSERVER.Split(';');
            string   constring = @"Data Source=" + lines[0] + ";Initial Catalog=" + lines[1] + ";Uid=sa;Pwd=" + lines[2]; // ";Initial Catalog=MERCURY;Uid=sa;Pwd=12345678";

//            string constring = @"Data Source=" + Globals.cSQLSERVER + ";Initial Catalog=TECHNOPLASTIKI;Uid=sa;Pwd=12345678";
            // ok fine string constring = @"Data Source=DESKTOP-MPGU8SB\SQL17,51403;Initial Catalog=MERCURY;Uid=sa;Pwd=12345678";
            // ok works fine string constring = @"Data Source=192.168.1.10,51403;Initial Catalog=MERCURY;Uid=sa;Pwd=12345678";

            con = new SqlConnection(constring);

            try
            {
                con.Open();

                // await DisplayAlert("Συνδεθηκε", "οκ", "OK");

                // ***************  demo πως τρεχω εντολη στον sqlserver ********************************
                SqlCommand cmd = new SqlCommand("insert into PALETES(PALET) values (1)");
                cmd.Connection = con;
                cmd.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                await DisplayAlert("ΑΔΥΝΑΜΙΑ ΣΥΝΔΕΣΗΣ", ex.ToString(), "OK");
            }

            return;

            try
            {
                //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");

                if (file.Exists())
                {
                    DisplayAlert("Θα διαγραφει το παλιό αρχειο", "....", "OK");
                    file.Delete();  // https://csharpdoc.hotexamples.com/class/SharpCifs.Smb/SmbFile#
                }
                // else
                {
                    //Create file.
                    file.CreateNewFile();
                }


                /*            try
                 *          {
                 *              //Create file.
                 *              file.CreateNewFile();
                 *          }
                 *          catch
                 *          {
                 *              DisplayAlert("Θα διαγραφει το ηδη το αρχειο", "....", "OK");
                 *              file.Delete();  // https://csharpdoc.hotexamples.com/class/SharpCifs.Smb/SmbFile#
                 *          }
                 */

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

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

                //Dispose writable stream.
                writeStream.Dispose();
            }
            catch
            {
                DisplayAlert("Δεν γράφτηκε το αρχειο", "....", "OK");
                // file.Delete();  // https://csharpdoc.hotexamples.com/class/SharpCifs.Smb/SmbFile#
            }
        }
Exemplo n.º 14
0
        public Stream CreateWriteStream()
        {
            var stream = _file.GetOutputStream();

            return(stream);
        }