Ejemplo n.º 1
0
 void Upload()
 {
     try
     {
         ShowProgress(true);
         foreach (ListViewItem lvItem in lvDragItem)
         {
             if (nfsClient.FileExists(nfsClient.Combine(lvItem.Text, RemoteFolder)))
             {
                 if (MessageBox.Show("Do you want to overwrite " + lvItem.Text + "?", "NFSClient", MessageBoxButtons.YesNo) == DialogResult.Yes)
                 {
                     nfsClient.DeleteFile(nfsClient.Combine(lvItem.Text, RemoteFolder));
                 }
                 else
                 {
                     continue;
                 }
             }
             CurrentItem = lvItem.Text;
             CurrentSize = long.Parse(lvItem.SubItems[1].Text);
             _lTotal     = 0;
             string SourceName = System.IO.Path.Combine(LocalFolder, CurrentItem);
             nfsClient.Write(nfsClient.Combine(CurrentItem, RemoteFolder), SourceName);
         }
         ShowProgress(false);
     }
     catch (ThreadAbortException)
     {
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.ToString(), "NFS Client");
         ShowProgress(false);
     }
 }
Ejemplo n.º 2
0
        public int WriteFile(string filename, byte[] buffer, ref uint writtenBytes, long offset, DokanFileInfo info)
        {
            int ret = DokanNet.DOKAN_SUCCESS;

            filename = CleanFileName(filename);

            try
            {
                Debug("WriteFile {0}", filename);
                string Directory = nfsClient.GetDirectoryName(filename);
                string FileName  = nfsClient.GetFileName(filename);
                string FullPath  = nfsClient.Combine(FileName, Directory);

                Debug("WriteFile {0} {1} {2} {3}", Directory, FileName, offset, buffer.Length);
                UInt32 Bytes = 0;
                nfsClient.Write(FullPath, (long)offset, (uint)buffer.Length, buffer, out Bytes);
                if (Bytes != 0)
                {
                    writtenBytes = (uint)Bytes;
                    Debug("WriteFile bytes {0}", writtenBytes);
                }
            }
            catch (Exception ex)
            {
                ret = DokanNet.DOKAN_ERROR;
                Debug("WriteFile file {0} exception {1}", filename, ex.Message);
            }
            return(ret);
        }