コード例 #1
0
        /// <summary>
        /// Upload file to cloud
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private async void button1_Click(object sender, EventArgs e)
        {
            OpenFileDialog ofd = new OpenFileDialog();

            if (ofd.ShowDialog() == DialogResult.OK)
            {
                FileMetaData metaData = new FileMetaData()
                {
                    fileName = System.IO.Path.GetFileName(ofd.FileName)
                };
                try
                {
                    FileStream fstream = File.OpenRead(ofd.FileName);
                    if (fstream.Length > Crypto.MaxMessageSize)
                    {
                        throw new MaxSizeException("Velicina fajla prelazi maksimalnu dozvoljednu velicinu.");
                    }

                    Task <bool> uploadTask = Task.Run(() => csClient.UploadFile(metaData, fstream));
                    var         success    = await uploadTask;

                    if (success)
                    {
                        MessageBox.Show(String.Format("Fajl: {0} je uploadovan na server cloud.", metaData.fileName), "Cloud Upload");
                        serviceFiles.Add(metaData.fileName);
                        listBox.DataSource = null;
                        listBox.DataSource = serviceFiles;
                    }
                    else
                    {
                        MessageBox.Show(String.Format("Fajl: {0} nije uspesno uploadovan na server cloud.", metaData.fileName), "Cloud Upload");
                    }
                }

                catch (MaxSizeException me)
                {
                    MessageBox.Show(me.Message);
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Greska pri uploadovanju fajla.");
                }
            }
        }