Beispiel #1
0
 public void LoadListViewByMyPcPath(ListView listView, ImageList imageList, string myPcPath)
 {
     Cursor.Current = Cursors.WaitCursor;
     ListView.ListViewItemCollection listViewItems  = listView.Items;
     ImageList.ImageCollection       imageListItems = imageList.Images;
     listViewItems.Clear(); imageListItems.Clear();
     string[] dirsArray; int imageIndex = 0;
     try
     {
         dirsArray = Directory.GetLogicalDrives();
         for (int i = 0; i < dirsArray.Length; i++)
         {
             DriveInfo driInfo      = new DriveInfo(dirsArray[i]);
             string[]  driInfoArray = new string[4];
             driInfoArray[0] = string.Format("{0}({1})", driInfo.VolumeLabel, driInfo.Name);
             driInfoArray[1] = SFUCommon.GetCommonSize(driInfo.TotalSize);
             driInfoArray[2] = SFUCommon.GetCommonSize(driInfo.TotalFreeSpace);
             driInfoArray[3] = driInfo.Name;
             ListViewItem listViewItem = new ListViewItem(driInfoArray, imageIndex);
             listViewItems.Add(listViewItem);
             imageListItems.Add(IconUtil.GetDirectoryIcon(driInfo.Name));
             imageIndex++;
         }
     }
     catch (Exception)
     {
         //如果不使用try catch抓取错误并以此跳过错误,在添加没有放入光盘的光驱Items时会提示错误
     }
     Cursor.Current = Cursors.Default;
 }
Beispiel #2
0
        public void LoadListView(ListView listView, ImageList imageList, string remotePath)
        {
            if (upYun == null)
            {
                return;
            }
            Cursor.Current = Cursors.WaitCursor;
            List <FolderItem> itemsArray = new List <FolderItem>();

            try { itemsArray = upYun.readDir(remotePath).Cast <FolderItem>().ToList(); }
            catch { } // UpYun SDK BUG: 调用readDir方法时,如果该目录下没有任何文件或目录,会有数组越界的问题
            try
            {
                ListView.ListViewItemCollection listViewItems = listView.Items;
                int    imageIndex  = 0;
                string programPath = Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles);
                ImageList.ImageCollection imageItems = imageList.Images;
                listViewItems.Clear(); imageItems.Clear();
                if (!remotePath.Equals("/"))
                {
                    string[] itemInfo = new string[4];
                    itemInfo[0] = "上级目录";
                    itemInfo[3] = "ParentDir";
                    ListViewItem parentDirItem = new ListViewItem(itemInfo, 0);
                    listViewItems.Add(parentDirItem);
                    imageItems.Add(StaticFileUpload.Business.Properties.Resources.up_16x16);
                    imageIndex++;
                }
                imageItems.Add(IconUtil.GetDirectoryIcon(programPath));
                imageIndex++;
                foreach (FolderItem item in itemsArray)
                {
                    ListViewItem listViewItem = null;
                    string[]     itemInfo     = new string[4];
                    itemInfo[0] = item.filename;
                    itemInfo[1] = SFUCommon.GetCommonSize(item.size);
                    itemInfo[2] = SFUCommon.GetCommonTime(item.number).ToString();
                    if (item.filetype.Equals("N"))
                    {
                        itemInfo[3]  = "N";
                        listViewItem = new ListViewItem(itemInfo, imageIndex);
                        imageItems.Add(IconUtil.GetFileIcon(item.filename, false));
                        imageIndex++;
                    }
                    else
                    {
                        itemInfo[3]  = "F";
                        listViewItem = new ListViewItem(itemInfo, remotePath.Equals("/") ? 0 : 1);
                    }
                    listViewItems.Add(listViewItem);
                }
            }
            catch (Exception ex)
            {
                SFULogger.DEFAULT.Error(ex);
                throw;
            }
            Cursor.Current = Cursors.Default;
        }
Beispiel #3
0
 public void DeleteFileAndDirectory(ArrayList deleteFileNameList, string remotePath)
 {
     foreach (string fileName in deleteFileNameList)
     {
         string fileRemotePath = SFUCommon.CombinePath4Web(remotePath, fileName);
         upYun.deleteFile(fileRemotePath);
     }
 }
Beispiel #4
0
        public void LoadListView(ListView listView, ImageList imageList, string localPath)
        {
            Cursor.Current = Cursors.WaitCursor;
            string[] filesArray, diresArray; int imageIndex = 1;
            ListView.ListViewItemCollection listViewItems  = listView.Items;
            ImageList.ImageCollection       imageListItems = imageList.Images;
            try
            {
                diresArray = Directory.GetDirectories(localPath);
                filesArray = Directory.GetFiles(localPath);
            }
            catch (Exception ex)
            {
                SFULogger.DEFAULT.Error("该目录不存在!", ex);
                MessageBox.Show("该目录不存在!");
                return;
            }
            // 清空 ListView & ImageList 控件条目集合
            listViewItems.Clear(); imageListItems.Clear();
            listViewItems.Add("上级目录", 0);
            imageListItems.Add(StaticFileUpload.Business.Properties.Resources.up_16x16);

            // 遍历 localPath 目录下的子文件夹
            for (int i = 0; i < diresArray.Length; i++)
            {
                string[]      dirInfoArray  = new string[3];
                DirectoryInfo directoryInfo = new DirectoryInfo(diresArray[i]);
                if ((directoryInfo.Attributes & FileAttributes.Hidden) != FileAttributes.Hidden)
                {
                    dirInfoArray[0] = directoryInfo.Name;
                    dirInfoArray[1] = "      ";
                    dirInfoArray[2] = directoryInfo.LastWriteTime.ToString();
                    ListViewItem listViewItem = new ListViewItem(dirInfoArray, imageIndex);
                    listViewItems.Add(listViewItem);
                    imageListItems.Add(dirInfoArray[0], IconUtil.GetDirectoryIcon(directoryInfo.FullName));
                    imageIndex++;
                }
            }
            // 遍历 localPath 目录下的子文件
            for (int i = 0; i < filesArray.Length; i++)
            {
                string[] fileInfoArray = new string[3];
                FileInfo fileInfo      = new FileInfo(filesArray[i]);
                if ((fileInfo.Attributes & FileAttributes.Hidden) != FileAttributes.Hidden)
                {
                    fileInfoArray[0] = fileInfo.Name;
                    fileInfoArray[1] = SFUCommon.GetCommonSize(fileInfo.Length);
                    fileInfoArray[2] = fileInfo.LastWriteTime.ToString();
                    ListViewItem listViewItem = new ListViewItem(fileInfoArray, imageIndex);
                    listViewItems.Add(listViewItem);
                    imageListItems.Add(fileInfo.Name, IconUtil.GetFileIcon(fileInfo.FullName, false));
                    imageIndex++;
                }
            }
            Cursor.Current = Cursors.Default;
        }
Beispiel #5
0
        private void menuItemCopyLink4Remote_Click(object sender, EventArgs e)
        {
            Point        listView4RemotePoint = listView4Remote.PointToClient(tempPoint);
            ListViewItem selectedItem         = listView4Remote.GetItemAt(listView4RemotePoint.X, listView4RemotePoint.Y);
            string       selectedItemText     = selectedItem.Text;
            string       webLink = SFUCommon.CombinePath4Web(remotePath, selectedItemText);
            string       testStr = SFUCommon.CombinePath4Web(sfuConfigInfo.operatorInfo.bindDomain, webLink);

            Clipboard.SetDataObject(SFUCommon.CombinePath4Web(sfuConfigInfo.operatorInfo.bindDomain, webLink));
        }
        private void btnOK_Click(object sender, EventArgs e)
        {
            string inputNewName = textBoxName.Text.Trim();
            bool   retVal       = false;

            if (inputNewName.Length <= 0)
            {
                return;
            }
            if (inputOperaType.Equals("LOCAL"))
            {
                if (inputFileOrFolder.Equals("FILE"))
                {
                    if (inputAddOrRename.Equals("ADD"))
                    {
                        retVal = localBrowserBusi.NewFile(inputCurrPath, inputNewName);
                    }
                    else
                    {
                        retVal = localBrowserBusi.RenameFile(inputCurrPath, inputOriName, inputNewName);
                    }
                }
                else
                {
                    if (inputAddOrRename.Equals("ADD"))
                    {
                        retVal = localBrowserBusi.NewFolder(inputCurrPath, inputNewName);
                    }
                    else
                    {
                        retVal = localBrowserBusi.RenameFolder(inputCurrPath, inputOriName, inputNewName);
                    }
                }
            }
            else
            {
                if (inputFileOrFolder.Equals("FOLDER"))
                {
                    string newFolderPath = SFUCommon.CombinePath4Web(inputCurrPath, inputNewName);
                    retVal = remoteBrowserBusi.NewFolder(newFolderPath, true);
                }
            }
            if (retVal == true)
            {
                this.Close();
            }
        }
Beispiel #7
0
        private void listView4Remote_DoubleClick(object sender, EventArgs e)
        {
            ListViewItem selectedItem = listView4Remote.SelectedItems[listView4Remote.SelectedItems.Count - 1];
            string       itemType     = selectedItem.SubItems[3].Text;

            if (itemType.Equals("ParentDir"))
            {
                remotePath = SFUCommon.GetParentPath4Web(remotePath);
            }
            else if (itemType.Equals("F"))
            {
                remotePath = SFUCommon.CombinePath4Web(remotePath, selectedItem.Text);
            }
            else if (itemType.Equals("N"))
            {
            }
            LoadListViewByRemotePath();
        }
Beispiel #8
0
 public void UploadFile(ArrayList uploadFileNameList, string localPath, string remotePath, bool isRecursive)
 {
     foreach (string fileName in uploadFileNameList)
     {
         string fileLocalPath  = Path.Combine(localPath, fileName);
         string fileRemotePath = SFUCommon.CombinePath4Web(remotePath, fileName);
         bool   isDirectory    = Directory.Exists(fileLocalPath);
         if (isDirectory)
         {
             // TODO: If the item is folder, need to traverse folder recursively(Get all file path in the folder).
         }
         else
         {
             FileStream   fileStream   = new FileStream(fileLocalPath, FileMode.Open, FileAccess.Read);
             BinaryReader binaryReader = new BinaryReader(fileStream);
             byte[]       postByte     = binaryReader.ReadBytes((int)fileStream.Length);
             upYun.writeFile(fileRemotePath, postByte, isRecursive);
         }
     }
 }
Beispiel #9
0
 public string GetSpaceUsage()
 {
     return(SFUCommon.GetCommonSize(upYun.getBucketUsage()));
 }