static async Task Main(string[] args)
        {
            var channel = GrpcChannel.ForAddress("https://*****:*****@"C:\Users\Furkan\Desktop\c6bdb32b-0e8b-4967-991f-f6454ff711ff.jpg";

            byte[] buffer = new byte[2048];
            using FileStream fileStream = new FileStream(file, FileMode.Open);
            var content = new AllFile
            {
                FileSize = fileStream.Length,
                Info     = new GrpcFileService.FileInfo
                {
                    FileName      = Path.GetFileNameWithoutExtension(fileStream.Name),
                    FileExtention = Path.GetExtension(fileStream.Name),
                },
                ReadedByte = 0
            };
            var result = client.FileUpload();

            while ((content.ReadedByte = await fileStream.ReadAsync(buffer, 0, buffer.Length)) > 0)
            {
                content.Buffers = ByteString.CopyFrom(buffer);
                await result.RequestStream.WriteAsync(content);
            }
            CancellationTokenSource cancellationTokenSource = new CancellationTokenSource();

            while (await result.ResponseStream.MoveNext(cancellationTokenSource.Token))
            {
                Console.WriteLine($"{result.ResponseStream.Current.Message} - %{result.ResponseStream.Current.Percent}");
            }
        }
예제 #2
0
 //Adding new image from file
 void AddToImages(FileTreeNode file, AllFile db_file)
 {
     Models.Image         image_db   = new Models.Image();
     System.Drawing.Image image_info = System.Drawing.Image.FromFile(file.href);
     image_db.FileID     = db_file.FileID;
     image_db.ImageSize  = image_info.Size.Width.ToString() + "x" + image_info.Size.Height.ToString();
     image_db.ImageViews = 0;
     using (MultimediaEntities db = new MultimediaEntities())
     {
         db.Images.Add(image_db);
         db.SaveChanges();
     }
 }
예제 #3
0
        //Conversion file information to database file table format
        AllFile BuilsNewMMFile(FileTreeNode f, string sDir)
        {
            AllFile  mm_file = new AllFile();
            FileInfo fi      = new FileInfo(f.href);

            mm_file.FileName        = f.text;
            mm_file.FileIsOnDrive   = true;
            mm_file.FilePath        = sDir;
            mm_file.FileExtensionID = GetExtention(f.text.Substring(f.text.IndexOf('.'))).FileExtensionID;
            mm_file.FileSize        = (int)fi.Length / 1024;
            mm_file.FileAdded       = DateTime.Now;
            mm_file.FileChanged     = fi.LastWriteTime;
            mm_file.FileCreated     = fi.CreationTime;
            return(mm_file);
        }
예제 #4
0
        //Adding new sound from file
        void AddToSounds(FileTreeNode file, AllFile db_file)
        {
            Sound sound_db = new Sound();

            sound_db.FileID = db_file.FileID;
            TagLib.File sound_tags = TagLib.File.Create(file.href);
            try
            {
                sound_db.SoundAlbum = sound_tags.Tag.Album;
            }
            catch
            {
                sound_db.SoundAlbum = "Unknown";
            }
            try
            {
                sound_db.SoundArtist = sound_tags.Tag.AlbumArtists[0];
            }
            catch
            {
                sound_db.SoundArtist = "Unknown";
            }
            try
            {
                sound_db.SoundDuration = sound_tags.Properties.Duration.Duration();
            }
            catch
            {
                sound_db.SoundDuration = new TimeSpan(0, 3, 0);
            }
            try
            {
                sound_db.SoundName = sound_tags.Tag.Title;
            }
            catch
            {
                sound_db.SoundName = "Unknown";
            }
            sound_db.SoundCurrentPosition = new TimeSpan(0, 0, 0);
            sound_db.SoundViews           = 0;

            using (MultimediaEntities db = new MultimediaEntities())
            {
                db.Sounds.Add(sound_db);
                db.SaveChanges();
            }
        }
예제 #5
0
        //Adding new video from file
        void AddToVideos(FileTreeNode file, AllFile db_file)
        {
            Video video_db = new Video();

            video_db.FileID = db_file.FileID;
            video_db.VideoCurrentPosition = new TimeSpan(0, 0, 0);
            try
            {
                WindowsMediaPlayer wmp       = new WindowsMediaPlayer();
                IWMPMedia          mediainfo = wmp.newMedia(file.href);
                string[]           time      = mediainfo.durationString.Split(':');
                video_db.VideoDuration = new TimeSpan(Int32.Parse(time[0]), Int32.Parse(time[1]), Int32.Parse(time[2]));
            }
            catch
            {
                video_db.VideoDuration = new TimeSpan(0, 0, 32);
            }
            video_db.VideoViews = 0;
            using (MultimediaEntities db = new MultimediaEntities())
            {
                db.Videos.Add(video_db);
                db.SaveChanges();
            }
        }
예제 #6
0
        public override async Task FileDownload(FileInfo request, IServerStreamWriter <AllFile> responseStream, ServerCallContext context)
        {
            string path = Path.Combine(_webHostEnvironment.ContentRootPath, "files");

            using FileStream fileStream = new FileStream($"{path}/{request.FileName}/{request.FileExtention}", FileMode.Open, FileAccess.Read);
            byte[]  buffer  = new byte[2048];
            AllFile content = new AllFile
            {
                FileSize = fileStream.Length,
                Info     = new FileInfo
                {
                    FileName      = Path.GetFileNameWithoutExtension(fileStream.Name),
                    FileExtention = Path.GetExtension(fileStream.Name),
                },
                ReadedByte = 0,
            };

            while ((content.ReadedByte = await fileStream.ReadAsync(buffer, 0, buffer.Length)) > 0)
            {
                content.Buffers = ByteString.CopyFrom(buffer);
                await responseStream.WriteAsync(content);
            }
            fileStream.Close();
        }
예제 #7
0
 public void AddDeletedFile(AllFile deleted_file)
 {
     deleted_files.Add(deleted_file);
 }
예제 #8
0
 //**********************************StateReport
 public static void AddNewFile(AllFile new_file)
 {
     new_files.Add(new_file);
 }
예제 #9
0
        private void openToolStripMenuItem_Click(object sender, EventArgs e)
        {
            ofd.Filter = "Image files (*.jpg, *.jpeg, *.jpe, *.jfif, *.png,*.ppm) | *.jpg; *.jpeg; *.jpe; *.jfif; *.png; *.ppm;";
            if (ofd.ShowDialog() == DialogResult.OK)
            {
                if (ofd.FileName.Contains(".ppm"))
                {
                    try
                    {
                        int           Red, Green, Blue;
                        int           index = 0;
                        string[]      Rows;
                        List <string> AllPixels = new List <string>();
                        string[]      TmpPixels;
                        int           height, width;
                        string        AllFile, type;
                        using (StreamReader sr = new StreamReader(ofd.FileName))
                        {
                            type = sr.ReadLine();
                            string laststring;
                            while (true)
                            {
                                laststring = sr.ReadLine();
                                if (laststring[0] == '#')
                                {
                                    continue;
                                }
                                else
                                {
                                    break;
                                }
                            }
                            string[] line = laststring.Split();
                            width  = Convert.ToInt32(line[0]);
                            height = Convert.ToInt32(line[1]);
                            sr.ReadLine();
                            AllFile = sr.ReadToEnd();
                        }
                        Rows = AllFile.Split('\n');
                        for (int i = 0; i < Rows.Length - 1; i++)
                        {
                            TmpPixels = Rows[i].Split();
                            for (int j = 0; j < TmpPixels.Length - 1; j++)
                            {
                                AllPixels.Add(TmpPixels[j]);
                            }
                        }
                        Bitmap bm = new Bitmap(width, height);
                        for (int i = 0; i < height; i++)
                        {
                            for (int j = 0; j < width; j++)
                            {
                                Red = Convert.ToInt32(AllPixels[index]);
                                index++;
                                Green = Convert.ToInt32(AllPixels[index]);
                                index++;
                                Blue = Convert.ToInt32(AllPixels[index]);
                                index++;
                                Color color = Color.FromArgb(Red, Green, Blue);
                                bm.SetPixel(j, i, color);
                            }
                        }
                        int Bufferindex = 0;
                        int[,] buffer = new int[width, height];
                        Matrix Mat = new Matrix();
                        for (int i = 0; i < height; i++)
                        {
                            for (int j = 0; j < width; j++)
                            {
                                buffer[j, i] = Convert.ToInt32(AllPixels[Bufferindex]);
                                Bufferindex++;
                            }
                        }

                        pictureBox1.Image = bm;
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message);
                    }
                }
                else
                {
                    Bitmap bitmap = new Bitmap(ofd.FileName);
                    pictureBox1.Image = bitmap;
                }
            }
        }